7

私のedit.html.twigには次のものがあります。

{% form_theme edit_form 'MyBundle:Entity:form.html.twig' %}
{% set img_src = asset('120x100.jpg') %}
{{ dump(img_src) }}
{{ dump(entity) }}
{{ form_widget(edit_form, {'form_type': 'horizontal', 'img_src': img_src }) }}

そこにimg_srcエンティティが問題なくダンプされています。form.html.twigには次
のものがあります。

{% extends 'MyBundle:Form:bootstrap.html.twig' %}
{% block _entity_field_widget %}
    {{ dump(img_src) }}
    {{ dump(entity) }}
    {% set type = 'hidden' %}
    {{ block('form_widget_simple') }}
{% endblock _channel_media_widget %}

bootstrap.html.twigは単なるブートストラップ *form_div_layout.html.twig*
であり、そのウィジェットにはimg_srcentityもありません。
ウィジェットでエンティティを取得する方法はありますか? フォームウィジェットに渡す必要がありますか、それとも別の方法がありますか? 私は何を間違っていますか?

4

1 に答える 1

9

各 symfony フォーム タイプは、AbstractType クラスを拡張します。

AbstactType クラスには次のメソッドがあります。

public function buildView(FormView $view, FormInterface $form, array $options)
{
    $view->set('img_src', '120x100.jpg');
    $view->set('my_variable', $foo);

}

フォーム タイプでこのメソッドを作成し、小枝で次のメソッドを作成できます。

{{ asset(img_src) }}
于 2013-02-08T07:47:31.667 に答える