Sonata (Symfony) 中的自定义菜单,无需创建新实体

Custom menu in Sonata (Symfony) without creating a new entity

我是 Whosebug 的新手(这是我的第一个 post),也是 Symfony2 和 SonataAdmin(一个包)的新手,我有一个小问题(我搜索过,但我找不到工作解决方案..).

我已经创建了一些实体,它们都出现在仪表板左侧的菜单中,并且工作正常。

但是我想做的是在不创建实体的情况下添加标签,并且当你点击这个菜单标签时,只有右边的内容被改变!那可能吗?谢谢

在您自己的管理包的 Resources/views 目录中创建一个空模板
(例如 custom_layout.html.twig)。

然后,在您的 app/config 中打开 config.yml(或 sonata/admin.yml,如果您已为奏鸣曲分离配置文件)并添加(或更新,如果存在)以下内容:

sonata_admin:
    # ...
    templates:
        layout: YourBundle::custom_layout.html.twig

最后,打开空模板,使其从standard_layout.html.twig,
覆盖好块, 并添加您的自定义菜单(复制现有的标记):

{% extends 'SonataAdminBundle::standard_layout.html.twig' %}

{% block side_bar_after_nav %}
<li class="treeview">
  <a href="#">
    <i class="fa fa-folder"></i>
    <span>Custom Menu</span>
    <i class="fa pull-right fa-angle-left"></i>
  </a>
  <ul class="treeview-menu">
    <li class="first last">
      <a href="{{ path('custom_route') }}">
        <i class="fa fa-angle-double-right"></i>
        Custom link
      </a>
    </li>
  </ul>
</li>
{% endblock %}

就这些了。