我想用sonata构建一个这样的节目视图:
+---------------------------------------------------+
| PAGE |
| |
| +---------------------------+ +-----------+ |
| | BLOCK 1 | | BLOCK 2 | |
| | +--------+ +-------+ | | | |
| | | 1.1 | | 1.2 | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | +--------+ +-------+ | | | |
| +---------------------------+ +-----------+ |
| |
+---------------------------------------------------+
我知道你可以使用" with()"来构建BLOCK 1和BLOCK 2。方法,但我没有看到任何方法在BLOCK 1中嵌套BLOCK 1.1和1.2。我不想使用标签,我希望所有内容都在同一页面上。
任何方法可以嵌套超过1级的块?
答案 0 :(得分:0)
确定。你有表演行动。而你使用,比方说两个块(I mean ->with()
)。
此外,您在两个块中都有不同的字段。您可以在该模板中覆盖其中一个字段的模板以及您想要的任何内容。你可以通过奏鸣曲->with()
制作事件创建块(带有奏鸣曲样式),这些块看起来很像。
在奏鸣曲管理员:
->with('Block1')
->add('your_field', null, [
'required' => false,
'template' => 'AppBundle::Admin\path_to_your_template\show_some_field.html.twig',
])
->end()
你的模板:
{% extends 'SonataAdminBundle:CRUD:base_show_field.html.twig' %}
{% block field %}
{# Make here whatever you want #}
{{ object.your_field }}
{% endblock field%}
如果您需要,我可以提出样品。