【发布时间】:2025-12-03 05:50:02
【问题描述】:
我开始使用 Symfony2 进行开发,但我在使用 Forms 时遇到了一些问题。我使用控制台根据我的实体生成表单字段。一切看起来都很棒,但我必须更改字段标签。当涉及到 idCapacityUnit 时,它基于另一个实体,而 Symfony 使该字段看起来像“选择”。现在我想更改该字段的标签。所以我使用了这段代码:
...
->add('idCapacityUnit', 'choice', array('label' => 'My label'))
但是 Symfony 抛出一个错误,我想给它输入错误的数据类型。我需要为此创建另一个数据转换器吗?
$builder
->add('nameShort', 'text', array('label' => 'Nazwa krótka'))
->add('capacityValue', 'text', array('label' => 'Pojemność'))
->add('idCapacityUnit', 'choice', array('label' => 'Jednostka'))
->add('idCapacityUnit')
->add('priceDetail')
->add($builder->create('isPackage', 'checkbox')->addModelTransformer($transformer))
->add('lifeTime')
->add('components')
->add('isActive');
也许有办法把这样的东西放在那里:
->add('idCapacityUnit', 'customEntityType:choice', array('label' => 'Jednostka'))
我也不知道如何将标签值放入语言文件中。我试图:
- 在路径 src\Vendor\NameOfBundle\Resources\translations\VendorNameOfBundle.en.yml 中创建语言文件
- 然后在 *Type 类中我写了 array('label' => 'form.labels.name_short')
在我拥有的语言文件中:
form:
labels:
name_short: "Nazwa krótka"
然后在浏览器中我看到 form.labels.name_short...
【问题讨论】:
标签: php forms symfony custom-fields