- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想替换:
{{ form_errors(form.name) }}
{{ form_widget(form.name, { 'attr': {'placeholder': 'Nom'} }) }}
通过:
{{ form.name|field('Nom') }}
我该怎么做?我尝试在 Twig 扩展中执行此操作,但我无权访问 form_widget 函数。
编辑:我可以使用 form.name
属性(包括父表单)来完成,但我会重复 symfony 代码,这将是一个非常丑陋的大破解
最佳答案
如果您要求我将 attr 移至您的表单类,则更有意义:
class SomeForm extends AbstractType {
//.....
$builder->add('name', 'text', array('attr' => array('placeholder'=>'Nom')));
}
因为我猜你需要为你可以检查的一些字段进行一些自定义渲染:
您还可以创建一个新类型并按照此处的说明对其进行自定义:
http://symfony.com/doc/2.0/cookbook/form/form_customization.html#what-are-form-themes
您甚至可以更改默认呈现方式,并要求 symfony 使用字段的标签字符串默认呈现您的占位符标记(全局启用表单主题的详细信息在上面引用的链接中介绍):
{% block text_widget %}
{% set type = type|default('text') %}
<input type="text" {{ block('widget_attributes') }} value="{{ value }}" />
{% endblock field_widget %}
{% block widget_attributes %}
{% spaceless %}
{% for attrname,attrvalue in attr %}{{attrname}}="{{attrvalue}}" {% endfor %} placeholder="{{ label|trans }}"
{% endspaceless %}
{% endblock widget_attributes %}
{% block form_row %}
{% spaceless %}
<div class="my-class">
{{ form_errors(form) }}
{{ form_widget(form) }}
</div>
{% endspaceless %}
{% endblock form_row %}
因此,您可以使用 symfony 提供的主题将自己限制为 form_row(form.name)。Symfony 的方法对我来说看起来“非常”干/死。希望对您有所帮助。
关于php - Symfony2 Twig 形式的快捷方式 : form_widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14983036/
我想显示 已检查 如果一个变量为空所以我做了这个代码 {{ form_widget(form.showPrice, {% if travel is null %} {'attr': {'checke
我去看看 Symfony 的扩展 Twig 函数 form_widget 实际是如何工作的。我期待在 symfony / src / Symfony / Bridge / Twig / Extensi
是否可以对表单元素属性使用原始过滤器?我想要这样的东西: {{ form_widget(searchForm.query, { 'type': 'search', 'attr': {
在 Controller 端使用 PHP,我可以使用 createFormBuilder() 将占位符添加到我的字段: $form = $this->createFormBuilder($compan
我想替换: {{ form_errors(form.name) }} {{ form_widget(form.name, { 'attr': {'placeholder': 'Nom'} }) }}
在调用 form_widget() 时,我想用 Twig 将类添加到现有类中。 -function,所以我想合并它们。但是当我使用 {{ form_widget(form.field1), {'att
简短的长问题,在对此进行了大量研究并找到了很多关于如何扩展现有字段类型、继承它们或更改后端某些内容的信息之后,但对于前端的实际渲染绝对没有,我是来问这个问题的。 手头“问题”的简短解释:我需要一个 E
如何自定义以下代码?我要使用来自数据库的复选框。 这是我的表单 $builder->add('entityname', 'entity', array( 'class'
为了验证表单,我使用了一个标准: {{ form_widget(form.save, {'attr': {'class': 'btn btn-sm btn-danger'}, 'label': 'Su
我一直在关注以下资源中的文档 http://silex.sensiolabs.org/doc/providers/form.html 但我收到以下错误 Twig_Error_Syntax: The f
当我在 Controller 中创建一个表单时,如下所示: $form = $this->createFormBuilder() ->add('field_name') ->getFo
我是一名优秀的程序员,十分优秀!