小编Ser*_*kov的帖子

(Symfony\Form)阻止自动生成表单字段

我有一个树枝模板.它遍历表单集合(form.MeteringCodes).问题是,我只需要显示一个字段的值,当我不明确地使用"form_row(...)"时,symfony会自动在表单的末尾生成字段.

    {{ form_start(form) }}
...
            <tbody>
                {% for metCode in form.MeteringCodes %}
                    {{ form_row(metCode.id) }}
                <tr>
                    <td>{{ metCode.desc.vars.value }} {# <-- Here is the pure value #}</td>
                    <td>{{ form_row(metCode.sdesc) }}</td>
                    <td style="width:20%;">{{ form_row(metCode.type) }}</td>
                    <td style="width:15%;">{{ form_row(metCode.state) }}</td>
                </tr>
                {% endfor %}
             </tbody>
...
        {{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)

我看到两种方式.一种是禁用这种"自动生成"行为.第二种可能是,如果我只是从原始对象本身获取值,而不将其定义为字段(如果可能的话).

集合类型本身:

class MeteringCodeType extends \Symfony\Component\Form\AbstractType
{
    public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options)
    {
        $builder->add('id', 'hidden');
        $builder->add('desc', 'text', ['label' => false, 'disabled' => true]);
        $builder->add('sdesc', 'text', ['label' => false]);
        $builder->add('type', 'choice', …
Run Code Online (Sandbox Code Playgroud)

symfony twig

4
推荐指数
1
解决办法
1583
查看次数

标签 统计

symfony ×1

twig ×1