Symfony2:取决于用户的菜单

时间:2012-10-22 14:29:40

标签: html5 session symfony twig

当用户登录并在导航期间通过网站时,导航栏包含他的菜单(每个用户都有自己的菜单)。为此我继续这样做:首先我在数据库的表中放入一个包含属于每个用户的html代码的字段,然后当用户连接时,将该字段放在会话中并显示在名为admin.html的twig文件中。像这样的树枝:

{{ app.session.get('menu')}}

用户访问的每个页面都会自动从此页面Admin继承。 好吧,我的解决方案似乎不起作用,我被告知我必须考虑这样的过滤器,但我真的没有得到这个解决方案。 我知道我的逻辑,任何提示都有问题吗?想法?提前谢谢。

菜单包含的示例:

<div class="navbar">
    <div class="navbar-inner">
        <a class="brand" href="#">Menu1</a>
        <ul class="nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="{{ path('graphe'|url_encode())}}">Graphe</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" >Administration <b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="gest_utilisateur">Gestion des utilisateurs</a></li>
                    <li><a href="#">Gestion des Menus</a></li>
                    <li><a href="gest_domaine">Gestion des Domaines</a></li>
                    <li><a href="gest_equipe">Gestion des Equipes</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

我会这样做:

  1. 将菜单字段添加到用户实体
  2. 在模板中,我将通过以下方式获取:

    {{ app.user.getMenu() }}
    

    因为用户也存储在会话中。