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