IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[SonataUser / FosUserBundler] Surcharge du controller


Sujet :

Symfony PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [SonataUser / FosUserBundler] Surcharge du controller
    Bonjour a tous,

    Je démarre sous Symfony2 et je suis un peu perdu.
    Mon problème est assez simple :
    J'ai 3 bundle pour la gestion de mes utilisateurs :
    SonataUserBundle / FOSUserBundle / AcmeUserBundle

    Je souhaiterait tout simplement surcharger le SecurityController de FOSuserBundle pour rajouter certains traitement lors de l'affichage de la page de login. J'ai simplement suivi la doc FOSuser

    J'ai donc modifier mon ACMEUserBundle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    namespace acme\UserBundle;
     
    use Symfony\Component\HttpKernel\Bundle\Bundle;
     
    class acmeUserBundle extends Bundle
    {
       public function getParent()
        {
            return 'FOSUserBundle';
        }  
    }
    et j'ai crée un logincontroller dans mon bundle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
     
    namespace acme\UserBundle\Controller;
    use Symfony\Component\HttpFoundation\RedirectResponse; 
    use FOS\UserBundle\Controller\SecurityController as SecurityController;
     
    class LoginController extends SecurityController
    {
        public function loginAction()
        {
            $response = parent::loginAction();
            // Mon Code
            return $response;
        }
    }
    Malheureusement j'ai une erreur de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LogicException: Bundle "FOSUserBundle" is directly extended by two bundles "SonataUserBundle" and "acmeUserBundle".
    J'ai essayé d'hérité directement de SonataUserBundle directement en définissant le code suivant dans mon bundle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function getParent()
        {
            return 'ApplicationSonataUserBundle';
        }
    Mais j'obtiens directement l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime Notice: Declaration of acme\UserBundle\Controller\LoginController::loginAction() should be compatible with that of FOS\UserBundle\Controller\SecurityController::loginAction() in /Library/WebServer/www/acme/src/acme/UserBundle/Controller/LoginController.php line
    Bref , je suis totalement perdu... et je veux juste ajouter 2 ou 3 variable de template dans mon controller.
    Quelqu'un aurait une idée ?

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    freelance
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Points : 30
    Points
    30
    Par défaut
    Bonjour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
     
    namespace acme\UserBundle\Controller;
    use Symfony\Component\HttpFoundation\RedirectResponse; 
    use chemin vers sonata\Controller\AdminSecurityController;
     
    class LoginController extends AdminSecurityController
    {
        public function loginAction()
        {
            $response = parent::loginAction();
            // Mon Code
            return $response;
        }
    }

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/04/2013, 21h51
  2. [2.x] [FosUserBundle] Override registration controller
    Par Agité dans le forum Symfony
    Réponses: 4
    Dernier message: 18/07/2012, 15h30
  3. [2.x] [FOSUserBundle]Surcharge du formulaire d'inscription
    Par magicbisous-nours dans le forum Symfony
    Réponses: 12
    Dernier message: 03/07/2012, 08h18
  4. [2.x] FOSUserBundle - surcharger l'action login_check
    Par tom42 dans le forum Symfony
    Réponses: 1
    Dernier message: 27/02/2012, 10h55
  5. [2.x] FOSUserBundle + surcharger validation.xml
    Par khand dans le forum Symfony
    Réponses: 0
    Dernier message: 20/10/2011, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo