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 :
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 :
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 :
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 :
1 2 3 4
| public function getParent()
{
return 'ApplicationSonataUserBundle';
} |
Mais j'obtiens directement l'erreur suivante :
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 ?
Partager