【问题标题】:FOSUserBundle with Symfony 3.0带有 Symfony 3.0 的 FOSUserBundle
【发布时间】:2016-06-02 08:34:18
【问题描述】:

在将 Symfony 从 2.6 版升级到 3.0 版后,我正在尝试启动并运行 FOSUserBundle。在 2.6 上,我基本上有一个站点、css 和 js,我们由assetic 处理,FOSUserBundle 已启动并运行,我已通过学说配置了 SQLite。

所以在再次选择这个项目之前,我进行了升级,因为不再支持 2.6。

因为我是 Symfony 的新手,所以我所做的一切或多或少都是从 documentation 复制而来的。 FOSUserBundle 在开发模式下显示为启用的捆绑包。我的所有代码都在 /src/AppBundle 中。我正在使用 FOSUserBundle 的 2.0-dev 版本(准确地说是 e770bfa)。

这是我的模板的一部分:

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

在 2.6 我得到了

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

在我的 /src/AppBundle/config/routing.xml 中。如果我保持这种方式,我什至无法加载网站,因为异常

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

将其放入 /app/config/routing.yml 后,我的站点将显示,并且 /src/AppBundle/config/routing.xml 中定义的其他路由正常工作。所以这个文件没有问题。

当网站出现时,链接的翻译被破坏了。

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

显示为“layout.login”,而不是像以前一样使用 2.6 登录。如果我点击链接登录(路径如预期的那样/login)。 Symfony 告诉我:

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

我不明白它为什么要在 AppBundle 文件夹中查找它?根据我阅读的内容,它应该在 FOSUserBundle 文件夹或 /app/Ressources/FOSUserBundle/... 中查找它,这是我放置它以覆盖默认模板的地方。我确认即使使用 3.0 版,这仍然是覆盖模板的方法。

我还尝试将模板放在 AppBulde/Pages/ 文件夹中。然后它找到了模板,但它仍然无法正常工作。

我多次清除缓存(这解决了资产的另一个问题)。

它看起来好像我缺少让 FOSUserBundle 正常工作的重要部分。关于我可能忽略的任何建议?

【问题讨论】:

  • 定期查看您拥有的路线! php bin/控制台调试:路由器

标签: symfony


【解决方案1】:

FOSUserBundle 似乎使用“xml”文件进行路由,并且您在 routing.xml 中包含了一个“yml”文件:

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

【讨论】:

  • 或尝试将该文件复制为 AppBundle/Routing/FOSUserBundle/all.xml,然后导入您的 routing.xml "@AppBundle/Routing /FOSUserBundle/all.xml"
猜你喜欢
  • 2016-03-23
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 2014-07-11
  • 2018-05-30
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多