[英]Symfony2 formbuilder choice field labels translating, values do not
[英]In Symfony2, how do I get labels from the FormBuilder
在Symfony2中,我正在使用formbuilder。 我正在根據文檔在表單中設置標簽。
但是,當我進入“顯示”和“索引”頁面時,必須將標簽復制到Twig中。
有沒有辦法在所有地方都使用相同的標簽? 我想到的選項:
但是,無論哪種方式都要求我“做”某事,這在Symfony中是我不習慣的。 看來這已經解決了,但我不確定如何解決。
您可以利用翻譯系統來克服此問題。 確保已在config.yml
啟用翻譯。
如果您在表單類型中添加了這樣的字段
$builder->add('title', 'text', array(
'label'=> 'model.title'
));
//.....
在bundles Resources/translations
目錄中創建一個名為messages.en.yml
的文件(用默認語言環境替換en
,並根據語言環境創建多個文件。請查閱本書的翻譯章節。)
#src/YourBundle/Resources/translation/messages.en.yml
model:
title: "Title"
field: "Field"
#....
添加和編輯表單標簽將顯示Title
。 在索引和顯示頁面中,您可以執行
{{ "model.title" | trans([], 'messages') }}
盡管此過程有點冗長,但它是一次,您可以通過更改翻譯文件來更改標簽的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.