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_src也没有entity
任何想法如何在小部件中获取实体?它应该传递给表单小部件还是有其他方法?我究竟做错了什么?

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 回答