5

Symfony2 in current 2.3 version. I've installed sonataAdminBundle in dev-master version. I have fosUserBundle in dev-master too. The problem is that I have no username and logout buttons in the top of admin panel (navigation).

I noticed that user_block.html.twig says:

{% block user_block %}{# Customize this value #}{% endblock %}

But how can I customize that? There is no navigation for logout by default bundle settings?

NHG
  • 5,807
  • 6
  • 34
  • 45

2 Answers2

4

I think you should install SonataUserBundle that overrides the user_block.html.twig template with what you are looking for:

{% block user_block %}
    {% if app.user %}
        {{ app.user }}

        {% if is_granted('ROLE_PREVIOUS_ADMIN') and sonata_user.impersonating %}
            <a href="{{ url(sonata_user.impersonating.route, sonata_user.impersonating.parameters| merge({'_switch_user': '_exit'})) }}">(exit)</a>
        {% endif %}

        - <a href="{{ url('sonata_user_admin_security_logout') }}">{{ 'user_block_logout'|trans({}, 'SonataUserBundle') }}</a>
    {% endif %}
{% endblock %}

Here is the template: https://github.com/sonata-project/SonataUserBundle/blob/master/Resources/views/Admin/Core/user_block.html.twig.

  • template do not work https://github.com/sonata-project/SonataUserBundle/blob/master/Resources/views/Admin/Core/user_block.html.twig. – Developer Sep 07 '18 at 08:53
3

you can replace it with this code to get all the stuff in sonata 3.x version :

{% 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        = asset(sonata_user.defaultAvatar) %}
        {# 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>

        {#
            Uncomment to add some information
                <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 %}
amir baqdadi
  • 174
  • 1
  • 1
  • 12