Trong edit.html.twig tôi tôi có:Làm thế nào để có được thực thể hoặc chuyển biến cho Symfony2 twig form widget?
{% 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 }) }}
Ở đó tôi có img_src và thực thể đổ không có vấn đề.
Trong form.html.twig tôi có:
{% 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 chỉ là một bootstraped * form_div_layout.html.twig *
Và trong widget mà tôi không có img_src cũng không phải pháp nhân.
Bất kỳ ý tưởng nào về cách nhận thực thể trong tiện ích con? Nó có nên được thông qua để tạo thành widget hay không? Tôi đang làm gì sai?
Nó vẫn mang lại cho tôi _Variable "thực thể" không exist_. Trong bộ điều khiển: '$ editForm = $ this-> createForm (new EntityType(), $ entity, array ('em' => $ em, 'entity' => $ entity));'. Trong phương thức EntityType setDefaultOptions: '$ resolver-> setRequired (mảng ('entity'));' và trong phương thức BuildView: '$ view-> vars ['entity'] = $ options ['entity'];'. Trong khối chủ đề biểu mẫu __entity_field_widget_ {{dump (entity)}}. Tôi đã bỏ lỡ cái gì? (Các tùy chọn $ đã gộp [[thực thể]] - đó là những gì tôi cần) – CRONUS
Các biến xem chỉ hiển thị ở cấp biểu mẫu hiện tại - nơi được khai báo. Trong các tiện ích cha mẹ như "entity_field", hãy thử sử dụng form.parent.vars.entity, form.parent.vars.img_src –
Đó là nó;) Cảm ơn – CRONUS