7
在我edit.html.twig我:如何獲取實體或將變量傳遞給Symfony2樹枝窗體小部件?
{% 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只是一個bootstraped * form_div_layout.html.twig *
而在此Widget我沒有img_src也不是實體。
任何想法如何獲得小部件中的實體?它應該被傳遞給窗體小部件還是有另一種方式?我究竟做錯了什麼?
它仍然給我_variable「實體」不exist_。在控制器中:'$ editForm = $ this-> createForm(new EntityType(),$ entity,array('em'=> $ em,'entity'=> $ entity));'。在EntityType的setDefaultOptions方法中:'$ resolver-> setRequired(array('entity'));'和BuildView方法:'$ view-> vars ['entity'] = $ options ['entity'];'。在表單主題塊__entity_field_widget_ {{dump(entity)}}中。我錯過了什麼? (Dumped $ options ['entity'] - 這是我所需要的) – CRONUS
視圖變量僅在當前表單級別可見 - 聲明的位置。在像「entity_field」這樣的家長小部件中,嘗試使用form.parent.vars.entity,form.parent.vars.img_src –
就是這樣;)謝謝 – CRONUS