Dan*_*ows 2 php formbuilder symfony
在 Symfony2 中,我使用 formbuilder。我正在按照文档在表单中设置标签。
但是,当我在“显示”和“索引”页面上时,我必须将标签复制到 Twig 中。
有没有办法让所有地方都使用相同的标签?我想到的选项:
然而,无论哪种方式都需要我“做”一些事情,这是我在 Symfony 中不习惯的。这似乎是已经解决的问题,但我不确定如何解决。
您可以利用翻译系统来解决这个问题。确保您已在 中启用翻译config.yml。
如果您在表单类型中添加了这样的字段
$builder->add('title', 'text', array(
'label'=> 'model.title'
));
//.....
Run Code Online (Sandbox Code Playgroud)
messages.en.yml在您的包目录中 创建一个名为的文件Resources/translations(替换en为您的默认语言环境,并根据语言环境创建多个文件。检查本书的翻译章节。)并输入以下内容
#src/YourBundle/Resources/translation/messages.en.yml
model:
title: "Title"
field: "Field"
#....
Run Code Online (Sandbox Code Playgroud)
添加和编辑表单标签将显示Title。在索引和显示页面中您可以执行以下操作
{{ "model.title" | trans([], 'messages') }}
Run Code Online (Sandbox Code Playgroud)
虽然这个过程有点长,但它是一次性的,您可以通过更改翻译文件来更改标签的值。