2016-10-02 2 views
0

alles funktioniert gut, aber ich kann nicht sehen Logout-Symbol und + Symbol oben rechts ich folgte alle Schritte in Sonata-Projekt Officiel Website, aber ich weiß nicht, was wirklich passiert . in der officiel Seite sehe ich im letzten Schritt logout in Demo, aber in meinem Projekt kann ich nicht enter image description here i verwenden Symfony 2.8.0 diese meine config.ymlSonataAdminBundle kann nicht Abmeldung in oben rechts sehen

imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: services.yml } 
    - { resource: "@AppBundle/Resources/config/admin.yml" } 
parameters: 
    locale: en 

framework: 
    #esi:    ~ 
    translator:  { fallbacks: ["%locale%"] } 
    secret:   "%secret%" 
    router: 
     resource: "%kernel.root_dir%/config/routing.yml" 
     strict_requirements: ~ 
    form:   ~ 
    csrf_protection: ~ 
    validation:  { enable_annotations: true } 
    #serializer:  { enable_annotations: true } 
    templating: 
     engines: ['twig'] 
     #assets_version: SomeVersionScheme 
    default_locale: "%locale%" 
    trusted_hosts: ~ 
    trusted_proxies: ~ 
    session: 
     # handler_id set to null will use default session handler from php.ini 
     handler_id: ~ 
    fragments:  ~ 
    http_method_override: true 

# Twig Configuration 
twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: pdo_mysql 
     host:  "%database_host%" 
     port:  "%database_port%" 
     dbname: "%database_name%" 
     user:  "%database_user%" 
     password: "%database_password%" 
     charset: UTF8 

    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     naming_strategy: doctrine.orm.naming_strategy.underscore 
     auto_mapping: true 

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    spool:  { type: memory } 
# app/config/config.yml 
sonata_block: 
    default_contexts: [cms] 
    blocks: 
     # enable the SonataAdminBundle block 
     sonata.admin.block.admin_list: 
      contexts: [admin] 

Antwort

0

Ich denke, dass dieses Verhalten behandelt wird von SonataUserBundle, müssen Sie dies installieren, wenn Sie in der Sonate User Einführung sehen, können Sie sehen, dass dieses Bundle das Benutzerprofil aktivieren, und ich denke, dass dieses Benutzersymbol.

Sonata User Bundle

0

Es gibt eine einfache Möglichkeit, dies ohne die Notwendigkeit zu erreichen, die SonataUserBundle hinzuzufügen. Sie können eine benutzerdefinierte Vorlage für user_block verwenden, wo Sie den Logout-Link und Links zu einigen Profilansichten hinzufügen können, indem Sie Folgendes tun.

Fügen Sie diese auf Ihre security.yml

security: 
    role_hierarchy 
    ROLE_ADMIN:  [ROLE_USER, ROLE_SONATA_ADMIN] 

Nun fügen Sie diese zu Ihrem config.yml

## Sonata Configuration 
# Sonata Admin 
sonata_admin: 
    ## ... other config 
    templates: 
    user_block: AppBundle:Default:user_block.html.twig 

schließlich eine Vorlagendatei user_block genannt hinzufügen .html.twig in src/AppBundle/Ressourcen/Ansichten/Default/ mit Ihrem gewünschten Link und Inhalten (unten ein Beispiel für den Standard user_block der SonataUserBundle

{# 
    This file is part of the Sonata package. 
    (c) Thomas Rabaix <[email protected]> 
    For the full copyright and license information, please view the LICENSE 
    file that was distributed with this source code. 
#} 

{% 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: app.user.id}) : sonata_user.userAdmin.generateUrl('show', {id: app.user.id}) %} 
    {% 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 %} 

Aber in meiner ehrlichen Meinung ist es am besten zu implementieren das SonataUserBundle und ich benutze es zusammen mit dem FOSUserBundle und FOSOauthServerBundle.

Verwandte Themen