我开始使用Symfony2进行开发,我遇到了一些Forms问题。我使用控制台根据我的实体生成表单字段。一切看起来都不错,但我必须更改字段标签。当涉及到idCapacityUnit时,它基于另一个实体和Symfony,使得该字段看起来像“选择”。现在我想更改此字段的标签。所以我使用了这段代码:
...
->add('idCapacityUnit', 'choice', array('label' => 'My label'))
但Symfony抛出一个错误,我想把错误的数据类型添加到它。我是否需要为此创建另一个Data Transformer?
$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'))
另外我不知道如何将标签值放在语言文件中。我试着:
:
form:
labels:
name_short: "Nazwa krótka"
然后在浏览器中我看到form.labels.name_short ...
答案 0 :(得分:0)
一切看起来都不错,但是当谈到语言文件时,你应该将它重命名为消息。#you_lang_code#.yml。然后记住通过输入以下内容来刷新缓存:
php app/console ca:cl
当谈到字段时,您可以执行以下操作:
$builder
->add('idCapacityUnit', null, array('label' => 'form.lables.id_capacity_unit'))
祝你好运!