【发布时间】:2014-06-24 12:25:41
【问题描述】:
我做了一些研究,遗憾的是找不到任何帮助。
所以我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中,但它显示的是供应商提供的默认模板。
我在其中渲染控制器的模板:
{% block body %}
<h2>Einstellungen</h2>
<br/>
<h4>Ändern Sie ihr Passwort</h4>
{% render controller("FOSUserBundle:ChangePassword:changePassword") %}
{% endblock %}
我的 ChangePasswordAction 模板,路径是app/Resources/FOSUserBundle/views/ChangePassword/changePassword.html.twig:
{% block fos_user_content %}
{% trans_default_domain 'FOSUserBundle' %}
<form action="{{ path('fos_user_change_password') }}" {{ form_enctype(form) }} method="POST" class="fos_user_change_password">
{{ form_start(form) }}
{{ form_errors(form) }}
<p><span class="edit_left_date">{{ form_label(form.current_password, 'Jetziges Passwort') }} </span>
<span class="edit_right">{{ form_widget(form.current_password) }}</span></p>
<p><span class="edit_left_date">{{ form_label(form.new_password, 'Neues Passwort') }} </span>
<span class="edit_right">{{ form_widget(form.new_password) }}</span></p>
<p><span class="edit_left_date">{{ form_label(form.new_password_confirmation 'Bestätigen Sie ihr neues Passwort') }} </span>
<span class="edit_right">{{ form_widget(form.new_password_confirmation) }}</span></p>
<div>
<input type="submit" value="{{ 'Speichern'|trans }}" />
</div>
{{ form_end(form) }}
</form>
{% endblock %}
让我抓狂的是,我在我的 layout.html.twig 中以相同的方式从 FOSUserBundle 渲染登录控制器,并且它在那里完美地工作。
来自布局的代码sn-p:
{% block sidebar %}
{% render controller("FOSUserBundle:Security:Login") %}
{% endblock %}
还有app/Resources/FOSUserBundle/views/Security/login.html.twig:
{% block fos_user_content %}
<div class="teaser-header">Login</div>
<form role="form" action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
<div class="form-group">
<label for="username">{{ 'MyLog Username'|trans }}</label>
<input class="form-control" type="text" id="username" name="_username" placeholder="Your Username" required="required" />
</div>
<div class="form-group">
<label for="password">{{ 'Password'|trans }}</label>
<input class="form-control" type="password" id="password" name="_password" placeholder="Your Password" required="required" />
</div>
<input type="submit" id="_submit" name="_submit" value="{{ 'Segel setzen'|trans }}" />
<a id="passwordForget" href={{ path('fos_user_resetting_request') }}>Password vergessen?</a>
</form>
{% endblock %}
我是否遗漏了什么或者我做错了什么,所以我无法覆盖 changePassword 模板?
【问题讨论】:
-
添加新模板后您是否清除了缓存?
-
是的,从浏览器和服务器,也尝试了不同的浏览器,没有任何效果
-
唯一会影响模板的是服务器,但正如你所做的那样,我不确定。你似乎和我有同样的设置,它确实有效。
-
我无法结束这个问题,但我让我的电脑断电了很长一段时间,以真正清除所有缓存(我在本地虚拟服务器上工作)。似乎缓存:清除没有正确工作。既然您的评论是正确的,我会接受您的回答,如果您将其发布为一个:) 由于答案,我无法关闭此问题。
标签: php symfony fosuserbundle