我有一些问题。我需要在fosuserbundle日历中添加注册模板,该模板允许选择生日用户 - 标准HTML标签日期不合适。为了做到这一点,我使用了jQuery的datepicker:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function () {
$("#fos_user_registration_form_birthday").datepicker({
changeMonth: true,
changeYear: true,
yearRange: '1950:2010',
});
});
</script>
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
{{ form_errors(form) }}
<ol>
[.........]
<li>
{{ form_label(form.birthday) }}
{{ form_widget(form.birthday) }}
{{ form_errors(form.birthday) }}
{{ form_rest(form) }}
</li>
<input type="submit" value="{{ 'registration.submit'|trans }}" />
</li>
</ol>
[.........]
</form>
它工作正常,但是如果我覆盖模板并添加:
{%extends 'MyBlogBundle::layout.html.twig'%}
{% block content %}
[ form registration]
{% endblock%}
它不起作用。
那么,我在做什么错?
而且我还有一个不仅仅是问题 - 如何添加或更改类别的注册形式的ID?我在模板中尝试了它
{{ form_widget(form.birthday {'attr': {'class': 'task_field'}}) }}
和registrarionformtype:
->add('birthday','text',array('attr'=>array('id'=>'text_field')))
但是ID不会改变。
嗨,我有点新的域名,但我相信您应该包括 {%block fos_user_content%}在您的主模板中或在您自己的捆绑包中覆盖它们(然后,您的捆绑包应该包含getParent()方法)
我相信主模板属于(如果您的捆绑包为userBundle)
UserBundleResourcesviewslayout.html.twig
最基本的覆盖物将是
{# UserBundleResourcesviewslayout.html.twig #}
{% extends '::base.html.twig' %}
{% block body %}
{{ block('fos_user_content') }}
{% endblock %}
// UserBundleUserBundle.php
namespace UserBundle;
use SymfonyComponentHttpKernelBundleBundle;
class UserBundle extends Bundle
{
public function getParent()
{
return "FOSUserBundle";
}
}
之后,您可以将要超载的模板复制到相应的捆绑文件夹 UserBundle Resources Views Indectration xx.html.twig从fosuserbundle。
更改项目中的"包含策略"后,您也必须在开发模式下清除缓存,否则您将看不到更改。应用于内容的更改不需要清除您的缓存。