奏鸣曲上的嵌套块显示动作

时间:2017-08-03 10:41:05

标签: symfony sonata-admin

我想用sonata构建一个这样的节目视图:

+---------------------------------------------------+
|   PAGE                                            |
|                                                   |
|   +---------------------------+   +-----------+   |
|   |   BLOCK 1                 |   |   BLOCK 2 |   |
|   |  +--------+   +-------+   |   |           |   |
|   |  | 1.1    |   | 1.2   |   |   |           |   |
|   |  |        |   |       |   |   |           |   |
|   |  |        |   |       |   |   |           |   |
|   |  |        |   |       |   |   |           |   |
|   |  +--------+   +-------+   |   |           |   |
|   +---------------------------+   +-----------+   |
|                                                   |
+---------------------------------------------------+

我知道你可以使用" with()"来构建BLOCK 1和BLOCK 2。方法,但我没有看到任何方法在BLOCK 1中嵌套BLOCK 1.1和1.2。我不想使用标签,我希望所有内容都在同一页面上。

任何方法可以嵌套超过1级的块?

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%}

如果您需要,我可以提出样品。