1

应该足够简单。一切都在我的本地环境中运行,但在我的 prod 服务器上(既不是 prod 也不是 dev 环境)。我收到一个错误,即找不到 FOS 模板:

Unable to find template "FOSUserBundle::layout.html.twig".   

我的代码很简单:

{% extends "FOSUserBundle::layout.html.twig" %}

我要从本地 Windows 机器转到 Linux 机器。我读过区分大​​小写可能是罪魁祸首,但似乎并非如此。

FOS 捆绑包位于正常位置:vendor/friendsofsymfony/user-bundle/FOS/UserBundle.

我无法诊断 - 有什么想法吗?当我 FTPd 时,事情是否搞砸了?权限问题?常见的陷阱是什么?我很绝望!

更新:一条线索。我跑了assetic:dump,得到了

[RuntimeException]
".../app/Resources/FOSUserBundle/views/layout.html.twig" resource is hidden by a 
resource from the "*******Bundle" derived bundle. Create a
".../app/Resources/*******Bundle/views/layout.html.twig" file to override the bundle 
resource.

这个问题似乎很相关。

另一个更新:我getParent()在自己的包中使用来覆盖模板。我切换到文档中的第一种方法,但现在模板app/resources根本没有效果。它直接进入带有白色背景的默认表单模板。

有任何想法吗?

4

3 回答 3

3

这是一个大写/小写/命名空间的东西。我以为我的本地文件与遥控器同步,但事实并非如此。

只需检查 FOS 包中的整个目录和所有命名空间!

于 2013-04-29T19:53:51.257 回答
0

I also encountered the problem and "solved" it by renaming my layout.html.twig inside my bundle's Resources/views folder to bundle-layout.html.twig and adapting my templates accordingly.

于 2013-04-29T15:32:19.810 回答
0

resource is hidden by a resource通过在良好的捆绑扩展中移动模板解决了该错误。

具体从app/Resources/FOSUSerBundle/views/ChangePassword
src/Application/Sonata/UserBundle/Resources/views/ChangePassword

我混淆了 FOSUser 和 SonataUser。

于 2014-02-05T11:02:16.343 回答