将类应用于Symfony2表单标签

31

我想用 PHP 模板设置表单标签的类。

下面是我的代码:

<?php echo $view['form']->label($form['first_name'], 'First Name', array(
    'attr' => array('class' => 'control-label')
)) ?>

但这是我的输出结果:

<label class="required" for="form_first_name">First name</label>

我可以找到如何使用Twig来实现,但没有PHP的示例。


在这个页面http://symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand,你可以看到将类名传递到Twig模板的例子,但是你可以选择在twig中查看代码或在纯PHP中查看代码。问题是,这段代码几乎与您的代码相同,所以我也感到困惑。 - Marko Jovanović
确实很奇怪,因为代码对我来说看起来不错...你是否在某个地方修改了默认的表单主题?你使用的是哪个版本的Twig?您尝试使用 rm -rf 清除应用程序缓存了吗? - Geoffrey Brier
1个回答

72

我搞定了...

<?php 
    echo $view['form']->label($form['first_name'], 'First Name', array(
            'label_attr' => array('class' => 'control-label'),
         )) 
?>

显然,“attr”用于标签字段中的“label_attr”。

附带的twig代码:

{{ form_label(form.first_name, 'First Name', { 'label_attr': {'class': 'control-label'} }) }}

10
对于Symfoy 2.1: {{ form_label(form.item, label|default(null), { 'label_attr': { 'class': 'MYCLASS' } }) }} 翻译为: {{ form_label(form.item,label |默认(null),{ 'label_attr':{ 'class':'MYCLASS'} })}} - yogee
你如何将这个与现有的标签合并? - Sébastien
2
Symfony 2.1的注意事项:为了保留表单类中原始标签,请使用:{{ form_label(form.item, null, { 'label_attr': { ... } }) }} - 注意,null - Jarda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接