2013-02-07 27 views
7

Kullanıcı verilerini KnpMenuBundle 's Builder'da nasıl edinebilirim?knpmenubundle: Oluşturucuda kullanıcı verileri nasıl alınır?

$user = $this->get('security.context')->getToken()->getUser(); 

ama benim menü oluşturucu aswell almak istiyorum, bu yüzden menüde kullanıcı adı koyabilirsiniz:

ben Kontrolör bu hat üzerinden kullanıcı verilerini alabilirsiniz biliyorum. Eğer Temelde https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/menu_service.rst

de görebileceğiniz gibi

cevap

8

Simshaun tamamen doğru. Biraz araştırma sonra ben böyle yapmak yönetmek:

  1. services.yml üzerine enjeksiyon ekleyin:

    administration_main.menu.main: 
        class: Knp\Menu\MenuItem 
        factory_service: administration_main.menu_builder 
        factory_method: createAdministrationMainMenu 
        arguments: ["@request","@security.context"] 
        scope: request 
        tags: 
         - { name: knp_menu.menu, alias: administrationMain } 
    
  2. menü oluşturucu

    use Symfony\Component\Security\Core\SecurityContext; 
    
    public function createAdministrationMainMenu(Request $request, SecurityContext $securityContext){ 
    
        $securityContext->getToken()->getUser(); 
    
    } 
    
üzerinde kullanın
İlgili konular