2016-10-02 67 views
0

所有工作正常,但我無法看到註銷圖標和右上方的+圖標 我跟着奏鳴曲項目官方網站的所有步驟,但我不知道真的發生了什麼。在OFFICIEL網站我在演示中看到的最後一步註銷,但在我的項目,我不能 enter image description here 我使用的symfony 2.8.0 這個我config.ymlSonataAdminBundle無法在右上方看到註銷

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] 

回答

0

我認爲,這種行爲被處理通過SonataUserBundle,你必須安裝這個,如果你在Sonata User介紹中看到你可以看到這個軟件包啓用了用戶配置文件,並且我認爲這個用戶圖標。

Sonata User Bundle

0

還有就是要做到這一點,而無需添加SonataUserBundle一個簡單的方法。 您可以使用自定義模板user_block您可以通過執行以下操作添加註銷鏈接和某些配置文件視圖的鏈接。

添加到您的security.yml

security: 
    role_hierarchy 
    ROLE_ADMIN:  [ROLE_USER, ROLE_SONATA_ADMIN] 

現在添加到您的config.yml

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

最後添加一個名爲user_block模板文件.html.twig的src /的appbundle /資源/視圖/默認/成你想要的鏈接,下面的默認的一個例子內容user_block的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 %} 

但在我的真實想法,最好是實施SonataUserBundle和我一起使用它與FOSUserBundle和FOSOauthServerBundle。