Symfony 索纳塔管理包-黑文';t注销导航栏

Symfony 索纳塔管理包-黑文';t注销导航栏,symfony,fosuserbundle,logout,sonata-admin,sonata-user-bundle,Symfony,Fosuserbundle,Logout,Sonata Admin,Sonata User Bundle,我已经安装了Sonata管理包3.x和用户包和FOSUserBundle。大多数情况下,所有这些功能都运行良好,但在管理面板中,注销按钮缺失。注销按钮显示在DEV环境的页脚中,但不在PROD中。有人知道如何将注销按钮添加到右上角的上部导航栏吗?有人能帮我吗 {% block user_block %} {% if app.user %} {% set _bg_class = "bg-light-blue" %} {% set _logo

我已经安装了Sonata管理包3.x和用户包和FOSUserBundle。大多数情况下,所有这些功能都运行良好,但在管理面板中,注销按钮缺失。注销按钮显示在DEV环境的页脚中,但不在PROD中。有人知道如何将注销按钮添加到右上角的上部导航栏吗?有人能帮我吗

 {% block user_block %}
    {% if app.user %}
        {% set _bg_class          = "bg-light-blue" %}
        {% set _logout_uri        = url('sonata_user_admin_security_logout') %}
        {% set _logout_text       = 'user_block_logout'|trans({}, 'SonataUserBundle') %}
        {% set _profile_uri       = sonata_user.userAdmin.isGranted('EDIT', app.user) ? sonata_user.userAdmin.generateUrl('edit', {id: sonata_user.userAdmin.id(app.user)}) : sonata_user.userAdmin.generateUrl('show', {id: sonata_user.userAdmin.id(app.user)}) %}
        {% set _profile_text      = 'user_block_profile'|trans({}, 'SonataUserBundle') %}
        {% set _user_image        = sonata_user.defaultAvatar ? asset(sonata_user.defaultAvatar) : null %}
        {# Customize this with your profile picture implementation, see below for example #}
        {#{% set _user_image  = app.user.profilePicture|default(asset(sonata_user.defaultAvatar)) %}#}

        {% if is_granted('ROLE_PREVIOUS_ADMIN') and sonata_user.impersonating %}
            {% set _bg_class    = "bg-light-green" %}
            {% set _logout_uri  = url(sonata_user.impersonating.route, sonata_user.impersonating.parameters| merge({'_switch_user': '_exit'})) %}
            {% set _logout_text = 'switch_user_exit'|trans({}, 'SonataUserBundle') %}
        {% endif %}

        <li class="user-header {{ _bg_class }}">
            {% if _user_image %}
                <img src="{{ _user_image }}" class="img-circle" alt="Avatar" />
            {% endif %}
            <p>{{ app.user }}</p>
        </li>{
        <li class="user-body">

        </li>}<li class="user-footer">
            <div class="pull-left">
                <a href="{{ _profile_uri }}" class="btn btn-default btn-flat"><i class="fa fa-user"></i> {{ _profile_text }}</a>
            </div>

            <div class="pull-right">
                <a href="{{ _logout_uri }}" class="btn btn-default btn-flat"><i class="fa fa-sign-out fa-fw"></i> {{ _logout_text }}</a>
            </div>
        </li>
    {% endif %}
{% endblock %}
{%block user\u block%}
{%if-app.user%}
{%set\u bg\u class=“bg浅蓝色”%}
{%set\u logout\u uri=url('sonata\u user\u admin\u security\u logout')%}
{%set _logout_text='user_block_logout'| trans({},'SonataUserBundle')%}
{%set{u profile_uri=sonata_user.userAdmin.isgrated('EDIT',app.user)?sonata_user.userAdmin.generateUrl('EDIT',{id:sonata_user.userAdmin.id(app.user)}):sonata_user.userAdmin.generateUrl('show',{id:sonata u user.userAdmin.id(app user)})}
{%set _profile_text='user_block_profile'| trans({},'SonataUserBundle')%}
{%set\u user\u image=sonata\u user.defaultAvatar?资产(sonata\u user.defaultAvatar):null%}
{#使用您的个人资料图片实现自定义此选项,请参见下面的示例#}
{{{%set{u user_image=app.user.profilePicture}默认值(资产(sonata_user.defaultAvatar))%}
{%if_被授予('ROLE_PREVIOUS_ADMIN')和sonata_user.imposing%}
{%set\u bg\u class=“bg浅绿色”%}
{%set _logout _uri=url(sonata_user.impersonating.route,sonata_user.impersonating.parameters | merge({“开关_user':'_exit'}))%}
{%set{u logout_text='switch_user_exit'| trans({},'SonataUserBundle')%}
{%endif%}
  • {%if{u用户\图像%} {%endif%} {{app.user}}

  • {
  • }
  • {%endif%} {%endblock%}
    确保您已将角色
    role\u ADMIN
    分配给您的用户,例如在您的
    security.yml中的他的角色层次结构中


    我遇到了完全相同的问题,这就解决了它。

    要查看注销按钮,您需要分配角色

    角色(奏鸣曲)(行政)


    首先,您必须在配置()中检查或设置sonata admin角色:

    默认情况下,它是
    ROLE\u SONATA\u ADMIN


    然后不要忘记更新
    security.yaml中的角色层次结构,并将相应的角色设置为用户。

    在您的页面中,注销uri定义为
    。真正的url是
    url('sonata\u user\u admin\u security\u logout')
    。只要复制/粘贴到需要的地方就行了?好的,谢谢你的帮助:)但这并不是问题的关键。我必须自定义用户块,但在核心包中。
    sonata_admin:
        security:
            role_admin: ROLE_SUPER_DUPER_ADMIN