2017-08-03 76 views
2

我想建立這樣的節目來看,與奏鳴曲:嵌套塊

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

我知道你可以構建塊1及塊2「有()」方法,但我沒有看到任何方法在BLOCK 1中嵌套BLOCK 1.1和1.2。我不想使用標籤,我希望在同一頁面上顯示所有內容。

任何方式嵌套超過1級塊?

+0

我從來沒有試過這個。您可以嘗試覆蓋Sonata管理包的CoreController和模板(如果我們正在談論儀表板,如果不是在您自己的控制器中創建渲染邏輯)並創建一些自己的渲染塊邏輯。 –

回答

0

好的。你有表演動作。你使用的是兩塊(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%} 

我可以提出一個樣本,如果你會需要它。