/ / FOSUserBundle com o Symfony 3.0 - symfony

FOSUserBundle com Symfony 3.0 - symfony

Estou tentando colocar o FOSUserBundle em funcionamentodepois de atualizar o Symfony da versão 2.6 para a 3.0. No 2.6 eu basicamente tinha um site, css e js que "nós manipulamos pela assetic, o FOSUserBundle estava funcionando e eu tinha configurado o SQLite via doutrina.

Então, antes de pegar este projeto novamente, fiz o upgrade porque o 2.6 não era mais suportado.

Porque eu sou novo no Symfony tudo o que eu fiz é mais ou menos copiado do documentação. O FOSUserBundle está aparecendo como um pacote habilitado no modo dev. Todo meu código está em / src / AppBundle. Eu estou usando a versão 2.0-dev do FOSUserBundle (e770bfa para ser preciso).

Aqui está uma parte do meu modelo:

<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>

No 2.6 eu tenho

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

no meu /src/AppBundle/config/routing.xml. Se eu continuar assim, não consigo carregar o site por causa de uma exceção

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

Depois de colocá-lo em /app/config/routing.yml meu site mostra e as outras rotas definidas em /src/AppBundle/config/routing.xml trabalhos. Então não havia nada de errado com esse arquivo.

Quando o site aparece, a tradução dos links está quebrada.

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

Aparece como "layout.login" em vez de Login como antes com o 2.6. E se eu clicar no link para fazer o login (o caminho é o esperado /entrar). Symfony me diz:

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

Eu não entendo porque ele está procurando na pasta AppBundle? De acordo com o que eu li, deve procurar na pasta FOSUserBundle ou em / app / Ressources / FOSUserBundle / ... que é onde eu colocá-lo para substituir o modelo padrão. Confirmei que esta ainda é a maneira de substituir os modelos, mesmo com a versão 3.0 ?.

Eu também tentei colocar o modelo no AppBulde / Pages / pasta. Em seguida, ele encontra o modelo, mas ainda não está funcionando.

Limpei o cache várias vezes (isso resolveu outro problema com o assetic).

Parece-me como se estivesse faltando uma parte significativa para fazer o FOSUserBundle funcionar. Alguma sugestão sobre o que eu poderia ter esquecido?

Respostas:

2 para resposta № 1

O FOSUserBundle parece estar usando arquivos "xml" para roteamento, e você inclui um arquivo "yml" em seu routing.xml:

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