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ď č. 1Zdá 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"