Symfony 奏鸣曲上的嵌套块显示动作
我想用索纳塔建立一个这样的演出视图:Symfony 奏鸣曲上的嵌套块显示动作,symfony,sonata-admin,Symfony,Sonata Admin,我想用索纳塔建立一个这样的演出视图: +---------------------------------------------------+ | PAGE | | | | +---------------------------+ +-----------+ | | | BLOCK 1
+---------------------------------------------------+
| PAGE |
| |
| +---------------------------+ +-----------+ |
| | BLOCK 1 | | BLOCK 2 | |
| | +--------+ +-------+ | | | |
| | | 1.1 | | 1.2 | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | +--------+ +-------+ | | | |
| +---------------------------+ +-----------+ |
| |
+---------------------------------------------------+
我知道您可以使用“with()”方法构建块1和块2,但我看不到任何将块1.1和1.2嵌套到块1中的方法。我不想使用标签,我希望所有内容都在同一页上
有没有办法嵌套1级以上的块?好的。你必须表现出行动。您可以使用两个块(
我的意思是->with()
)。
在这两个块中,也有不同的字段。您可以覆盖其中一个字段的模板以及该模板中所需的任何内容。您可以创建事件块(使用索纳塔样式),它看起来像千,由索纳塔->with()
制作
在sonata admin中:
->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 admin bundle的CoreController和模板(如果我们讨论的是dashboard,如果不是,那么可以在您自己的控制器中创建渲染逻辑),并创建一些自己的渲染块逻辑。