嵌套块
问题描述:
我想建立这样的节目来看,与奏鸣曲:嵌套块
+---------------------------------------------------+
| PAGE |
| |
| +---------------------------+ +-----------+ |
| | BLOCK 1 | | BLOCK 2 | |
| | +--------+ +-------+ | | | |
| | | 1.1 | | 1.2 | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | +--------+ +-------+ | | | |
| +---------------------------+ +-----------+ |
| |
+---------------------------------------------------+
我知道你可以构建块1及块2“有()”方法,但我没有看到任何方法在BLOCK 1中嵌套BLOCK 1.1和1.2。我不想使用标签,我希望在同一页面上显示所有内容。
任何方式嵌套超过1级块?
答
好的。你有表演动作。你使用的是两块(I mean ->with()
)。 你也有在两个块不同的领域。您可以覆盖其中一个字段的模板,以及该模板中您想要的任何内容。您可以使用奏鸣曲作品->with()
制作事件创建块(带奏鸣曲样式),看起来像是thous。
奏鸣曲管理:
->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%}
我可以提出一个样本,如果你会需要它。
我从来没有试过这个。您可以尝试覆盖Sonata管理包的CoreController和模板(如果我们正在谈论仪表板,如果不是在您自己的控制器中创建渲染逻辑)并创建一些自己的渲染块逻辑。 –