SonataUserBundle + Symfony3 – zmiana hasła

Jednak postanowiłam najpierw uporać się ze zmianą hasła. Tym razem miałam już małe doświadczenie więc poszło szybciej.  Pewnie nikogo nie zdziwi, że i tym razem fatal gonił fatala i trzeba było rewritować coś 😉 Tak czy inaczej finalnie można już zmienić hasło i można cieszyć się z podstawowych funkcjonalności panelu użytkownika.Ok ale co się wydarzyło i zmieniło? Przede wszystkim tajemnicą nie jest, że SonataUserBundle nadpisało FOSUserBundle. Cały problem w tym, że w wielu miejscach te bundle nie są ze sobą kompatybilne i tym razem nie obeszło się bez problemów.

Na samym początku po wejściu w link profile/change-passoword dostałam błąd:

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "sonata_user_change_password" as such route does not exist.").

Problem rozwiązuje wpis w routing.yml:

sonata_user_change_password:
    resource: "@SonataUserBundle/Resources/config/routing/sonata_change_password_1.xml"
    prefix: /profile

Dalej był problem ze stworzeniem formularza:

$form = $this->get('fos_user.change_password.form');
$formHandler = $this->get('fos_user.change_password.form.handler');

Pojawiał się błąd, że odwołuję się do nieznanego serwisu:

fos_user.change_password.form.handler

Wynikało to z tego, że taki serwis nie jest już używany w nowszej wersji FOSUserBundle. Zastąpił go:

fos_user.change_password.form.factory

Reszta na szczęście śmiga dobrze 🙂 teraz z czystym sumieniem można by stworzyć kilka stron statycznych i dynamiczne menu, które je wyświetli 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *