我在索納塔(準確地說是兩個一對多關係),品牌和零售商有許多多對多的關係。 在品牌管理編輯頁面中,我想將所有零售商顯示爲列表(因此只是一個只讀版本),而不是正常編輯(此刻,在此品牌編輯頁面上,我可以管理這個品牌和零售商 - 添加一個新的,刪除一個現有的)。索納塔管理員:在編輯頁面列出一對多
我試圖探索兩條路線至今:
- 編輯頁面加載自定義枝杈
- 使用自定義字段類型此字段僅
我的問題是,既選項,我沒有設法得到解決方案 所以這裏是我所做的:
1 - 加載自定義編輯樹枝:
services:
xx_brand.admin.brand_brand:
calls:
- [ setTemplate, [edit, xxBrandBundle:Admin:base_edit.html.twig]]
在這種情況下,base_edit是奏鳴曲base_edit
的精確副本,但加載我的自定義base_edit_form
:
{% use 'xxBrandBundle:Admin:base_edit_form.html.twig' with form as parentForm %}
在這裏,我可以排除retailers
的默認渲染,但不能找到一種方法,然後渲染它,因爲我想,因爲我不知道怎麼retailers
實體在這裏進行管理:
{% if admin.formfielddescriptions[field_name] is defined and field_name != 'retailers' %}
{{ form_row(form[field_name])}}
{% else %}
<ul>
<li>retailer1</li>
<li>retailer2</li>
</ul>
{% endif %}
2 - 自定義字段類型的方法,我試圖按照documentation
- 創建
Bundle/Form/Type/ListType.php
- 創建
/BrandBundle/Resources/views/form/list.html.twig
使用
ListType
在configureFormFields
:use XX\BrandBundle\Form\Type\ListType; ... ->add('retailers', 'ListType');
但是我後來得到一個錯誤XX\BrandBundle\Form\Type\ListType
所以基本上,因爲我不能得到它的工作,這兩個選項中的任何一個很好解決我的問題? 如果是這樣,任何人都可以請建議我在那裏失蹤? 任何幫助將是非常讚賞:)