/ / FOSUserBundle so systémom Symfony 3.0 - symfony

FOSUserBundle so systémom Symfony 3.0 - symfony

Snažím sa spustiť funkciu FOSUserBundlepo inovácii programu Symfony od verzie 2.6 na 3.0. Na 2.6 som v podstate mal miesto, css a js sme sa zaoberali asetickým, FOSUserBundle bol v prevádzke a mal som konfiguroval SQLite prostredníctvom doktríny.

Takže pred vybratím tohto projektu znova som urobil upgrade, pretože 2.6 už nebol podporovaný.

Pretože som v Symfony novým, všetko, čo som urobil, je viac či menej kopírovaná dokumentácia, FOSUserBundle sa zobrazuje ako povolený balík v režime dev. Ale môj kód je v / Src / AppBundle, Používam verziu 2.0-dev FOSUserBundle (e770bfa je presná).

Tu je časť mojej šablóny:

<li>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<a href="{{ path("fos_user_security_logout") }}">
{{ "layout.logout"|trans({}, "FOSUserBundle") }}
</a>
{% else %}
<a href="{{ path("fos_user_security_login") }}">
{{ "layout.login"|trans({}, "FOSUserBundle") }}
</a>
{% endif %}
</li>

V 2.6 som dostal

fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.yml"

v mojom /src/AppBundle/config/routing.xml, Pokiaľ to budem udržiavať takýmto spôsobom, nemôžem nahrať web kvôli výnimke

"Unable to generate a URL for the named route "fos_user_security_login" as such route does not exist."

Po vložení /app/config/routing.yml moje stránky zobrazujú a ostatné cesty definované v /src/AppBundle/config/routing.xml práca. Takže s týmto súborom nebolo nič zlé.

Keď stránka zobrazí, preklad odkazov je prerušený.

{{ "layout.login"|trans({}, "FOSUserBundle") }}

Zobrazí sa ako "layout.login" namiesto aus Prihlásenie ako predtým s 2.6. A keď kliknem na odkaz na prihlásenie (cesta je podľa očakávania /Prihlásiť sa). Symfónia mi hovorí:

Unable to find template "AppBundle:Pages:login.html.twig".

Nechápem, prečo to hľadá v priečinku AppBundle? Podľa toho, čo som si prečítal, mal by to hľadať v priečinku FOSUserBundle alebo v priečinku / App / Zdroje / FOSUserBundle / ... čo je miesto, kde som ho prepísal predvolenú šablónu. Potvrdil som, že toto je stále spôsob, ako prepisovať šablóny aj v prípade verzie 3.0 ?.

Taktiež som sa snažil vložiť šablónu do AppBulde / Stránky / zložky. Potom nájde šablónu, ale stále to nefunguje.

Vyčistila som vyrovnávaciu pamäť viackrát (toto riešilo ďalší problém s asetickým).

Hľadá ma, akoby som chýbal podstatnú časť pre prácu s FOSUserBundle. Akékoľvek návrhy na to, čo som prehliadol?

odpovede:

2 pre odpoveď č. 1

Zdá sa, že FOSUserBundle používa na smerovanie súbory "xml" a vo vašom routing.xml máte súbor "yml":

fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.yml"