'repeated' 字段的 Symfony 更改样式

Symfony change style of 'repeated' field

我有一个包含重复字段的表单:

$builder->add('password', 'repeated', array( 'type' => 'password' ));

我希望这个重复字段以不同于其他字段的方式呈现 - 我该怎么做?我是 Symfony 和 twig 的新手,所以如果您对代码有任何建议,请添加一些关于代码放置位置的信息。

我的 form.html.twig 看起来像这样:

{{ form_widget(form) }}

提前致谢。

这就是我使用 Twitter bootstrap 显示重复字段的方式,当然你可以将那些 class 更改为你正在使用的

<form action="{{ path('passwordReset') }}" method="post" role="form">
    {{ form_errors(form) }}
    <div class="login-screen">
        <h4>Reset Your Password</h4>

        <div class="login-form">
            <div class="form-group">
                {{ form_widget(form.password.first, { 'attr': {'class': 'form-control', 'placeholder': 'Enter your password', 'value':''}  }) }}
                {% if(form_errors(form.password.first)) %}
                    <div class="alert alert-danger">{{ form_errors(form.password.first) }}</div>
                {% endif %}
                <label class="login-field-icon fui-lock" for="login-password"></label>
            </div>
            <div class="form-group">
                {{ form_widget(form.password.second, { 'attr': {'class': 'form-control', 'placeholder': 'Confirm your password', 'value':''}  }) }}
                {% if(form_errors(form.password.second)) %}
                    <div class="alert alert-danger">{{ form_errors(form.password.second) }}</div>
                {% endif %}
                <label class="login-field-icon fui-lock" for="login-name"></label>
            </div>
            <button class="btn btn-primary btn-lg btn-block" type="submit">Submit</button>
            <a class="login-link" href="{{ path('login') }}">Sign in</a>
        </div>
    </div>
    {{ form_rest(form) }}
</form>

你需要的是以下两个

{{ form_widget(form.password.first, { 'attr': {'class': 'form-control', 'placeholder': 'Enter your password', 'value':''}  }) }}
{{ form_widget(form.password.second, { 'attr': {'class': 'form-control', 'placeholder': 'Confirm your password', 'value':''}  }) }}

只需给它们分配您想要分配给它们的class,让它们看起来与众不同。

Helo

'first_options' => array('label' => 'form.password','attr' => array('class' => 'mystyle'))

类似于 formType 中的东西,它将 class 添加到您的输入元素并让您自定义。