我尝试创建一个包含两级嵌入表单的页面。
我们说我有一个代表网页的实体。我认为我可以在页面上有集团,所以我有一个" Block"在我的" Page"实体。然后我认为一个集团可以包含subblocs(显然还有其他属性)所以我有一个" SubBlock"我" Block"中的实体实体。
当我使用Symfony生成的原型时,没有问题。但实际上,我想自定义原型属性。为了自定义第一级(块集合),我阅读了文档(symfony.com/doc/current/cookbook/form/form_customization.html#how-to-customize-a-collection-prototype),一切都很好。覆盖块的名称为: _web_page_blocks_entry_widget
真正的问题是第二级(包含子块的块)。我想覆盖树枝原型,但我找不到好用的名字。我尝试了很多名字但没什么用。
考虑我的实体:
我试过了:
但似乎没有任何效果。在这种情况下,是否有人知道应用的确切规则来覆盖默认的原型生成块?
答案 0 :(得分:1)
假设您有以下字段:
// WebPageType
$builder->add('blocks', CollectionType::class);
// BlockType
$builder->add('subBlocks', CollectionType::class);
要覆盖subBlocks
条目主题块,您应该使用:
{% block _web_page_blocks_entry_subBlocks_entry_widget %}