2017-06-21 246 views

回答

2

你必须override the default template(布局: 'SonataAdminBundle :: standard_layout.html.twig')用自己在coding your logique here

下面是对现有代码的摘录:

         {% block sonata_admin_content_actions_wrappers %} 
              {% if _actions|replace({ '<li>': '', '</li>': '' })|trim is not empty %} 
               <ul class="nav navbar-nav navbar-right"> 
               {% if _actions|split('</a>')|length > 2 %} 
                <li class="dropdown sonata-actions"> 
                 <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ 'link_actions'|trans({}, 'SonataAdminBundle') }} <b class="caret"></b></a> 
                 <ul class="dropdown-menu" role="menu"> 
                  {{ _actions|raw }} 
                 </ul> 
                </li> 
               {% else %} 
                {{ _actions|raw }} 
               {% endif %} 
               </ul> 
              {% endif %} 
             {% endblock sonata_admin_content_actions_wrappers %} 
+0

这将按钮添加到所有管理类,我在问题中提到的,我只是想将按钮添加到一个管理类。 我可以重写一个Admin类的standard_layout吗? –

+1

得到它的工作,在services.yml增加了一个电话: '调用:[setTemplate,['layout','file.html.twig']]' –

0

它要求添加自定义操作并覆盖特定模板。您可以按照documentation on symfony.com

阅读到下面的代码块:

{# src/AppBundle/Resources/views/CRUD/list__action_clone.html.twig #} 

<a class="btn btn-sm" href="{{ admin.generateObjectUrl('clone', object)}}">clone</a> 
+0

这将如何让我在导航栏上的新按钮?请详细说明我将不得不重现的步骤。 –

+1

我试过你发布的解决方案,但它不是我想要的。 ![我想要的](https://ibin.co/3QpKpKJyjSx3.png) –