是的,我知道还有其他问题。我检查了每一个,但我没有得到我做错的事。
我自己的模板位于:
的src /砂砾/ GritWsBundle /资源/视图/ layoutBase.html.twig
其中包含(隐藏不必要的标记):
<!DOCTYPE html>
<html>
<head></head>
<body>
<div class="container">
{% block content %}
{% endblock %}
</div>
</body>
</html>
然后,按照文档我创建了这个结构来覆盖FOSUserBundle模板:
的src /砂砾/ GritWsBundle /资源/ FOSUserBundle /视图/ layout.html.twig
在这个文件中,我正在扩展layoutBase.html.twig:
{% extends 'GritGritWsBundle::layoutBase.html.twig' %}
{% block content %}
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please Sign In</h3>
</div>
<div class="panel-body">
{% block fos_user_content %}
{% endblock %}
</div>
</div>
</div>
</div>
{% endblock %}
我已经清除了缓存,已安装并“转储”资产。
不知怎的,它不起作用,没有生效。有人能帮助我吗?
答案 0 :(得分:0)
要覆盖模板,您的文件路径和名称需要镜像您要覆盖的模板的路径和名称。从templateBase
重命名为template
。
请务必在之后清除symfony缓存以查看结果
答案 1 :(得分:0)
您将模板放在错误的位置。正如documentation中所述,您需要将layout.html.twig
放在app/Resources/FOSUserBundle/views/layout.html.twig
(不在您的捆绑包内)。
如果要覆盖捆绑中的模板,则需要覆盖您的FOSUserBundle。您可以在link above和Symfony official documentation上找到相关信息。