我正在玩Symfony的表单构建器,我找不到不显示标签的方法.此外,我有兴趣为每个输入框设置一个占位符.这可能吗?我研究了一下,一无所获.
我的表格:
<form action="{{ path('searchPeople') }}" method="post" class="form-inline">
{{ form_errors(form) }}
{{ form_row(form.first_name) }}
{{ form_row(form.last_name) }}
{{ form_rest(form) }}
<br />
<button type="submit" class="btn btn-primary" /><i class="icon-search"></i>Search</button>
</form>
Run Code Online (Sandbox Code Playgroud)
编辑:解决了! 以下所有解决方案都有所帮助,但我给出了主要有用评论的答案.我感谢所有的帮助.对于其他遇到此问题的人来说,这是我最后的工作代码:
<form action="{{ path('searchPeople') }}" method="post" class="form-inline">
{{ form_errors(form) }}
{{ form_errors(form.first_name) }}
{{ form_widget(form.first_name, {'attr': {'placeholder': 'First Name'} }) }}
{{ form_errors(form.last_name) }}
{{ form_widget(form.last_name, {'attr': {'placeholder': 'Last Name'} }) }}
{{ form_rest(form) }}
<br />
<button type="submit" class="btn btn-primary" /><i class="icon-search icon-white"></i>Search</button>
</form>
Run Code Online (Sandbox Code Playgroud)
Tit*_*iti 60
我知道它已经回答了,但是如果您不想更改twig模板中的任何内容,可能会帮助那些正在为占位符寻找不同解决方案的人:
$builder->add(
'name',
'text',
array(
'attr' => array(
'placeholder' => 'Your name',
),
'label' => false,
)
);
Run Code Online (Sandbox Code Playgroud)
Fo.*_*Fo. 19
如果您使用form_rest输出字段,则必须在表单构建器中将字段的标签设置为false
$builder->add('first_name', 'text', array(
'label' => false,
));
Run Code Online (Sandbox Code Playgroud)
如果单独输出字段,则可以在树枝模板中省略该字段的form_label,或将其设置为空字符串.
{{ form_label(form.first_name, '') }}
Run Code Online (Sandbox Code Playgroud)
将标签转换为占位符
{% use 'form_div_layout.html.twig' with widget_attributes as base_widget_attributes %}
{% block widget_attributes %}
{% set attr = {'placeholder': label|trans({}, translation_domain)} %}
{{- block('base_widget_attributes') -}}
{% endblock widget_attributes %}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39956 次 |
最近记录: |