2014-02-22 139 views
1

这里的主要形式布局树枝文件:Symfony2的形式布局 - 变量源

https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig

一个例子:

{% block form_widget_simple %} 
{% spaceless %} 
    {% set type = type|default('text') %} 
    <input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/> 
{% endspaceless %} 
{% endblock form_widget_simple %} 

我不知道varaibles像 “型” 或 “价值” 从何而来?

我试图实现的目标是将窗体行的标签设置为小部件中的占位符。我怎样才能做到这一点?

回答

0

详细介绍如何重写模板表单域,你会发现here.

如果你想标签更改为占位符,所有你需要的是改变你的呈现形式的方式。除去form_widget(form)并切换到使每单独的表单字段:

{# ... #} 
<div class="form-group"> 
    {{ form_errors(form.email) }} 
    {{ form_widget(form.email, {'attr': {'class': 'form-control', 'placeholder': 'E-mail address'|trans }}) }} 
</div> 
{# ... #} 

此示例产生用于电子邮件字段和HTML/CSS类引导程序输入。 并向您显示{{ type }}{{ value }}如何通过 - attr数组。

祝你好运!

+0

让它与占位符一起工作并不是一件大事。问题更多的是所有变量来自哪里。 –

+0

@TaruoGene您提到这是一个目标...阅读有关表单域的覆盖模板。和[形式主题](http://symfony.com/doc/current/cookbook/form/form_customization.html#what-are-form-themes)。您会发现通过Symfony \ FrameworkBundle:Form将{{{type}}和{{value}}'传递给模板,并与Form Type的实体属性值和Forms Builder标签相关联。 – WebHQ