簡體   English   中英

在Symfony2中,如何從FormBuilder獲取標簽

[英]In Symfony2, how do I get labels from the FormBuilder

在Symfony2中,我正在使用formbuilder。 我正在根據文檔在表單中設置標簽。

但是,當我進入“顯示”和“索引”頁面時,必須將標簽復制到Twig中。

有沒有辦法在所有地方都使用相同的標簽? 我想到的選項:

  • 訪問formbuilder配置,但無需實際構建表單
  • 有一個中央配置文件,並從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM