2012-05-24 2 views
2

Symfony2에서 formbuilder를 사용하고 있습니다. 설명서마다 해당 레이블을 양식에 설정하고 있습니다.Symfony2에서 FormBuilder에서 레이블을 얻는 방법

그러나 'show'및 'index'페이지에있을 때 라벨을 Twig에 복사해야합니다.

어디서나 동일한 라벨을 사용할 수 있습니까? 옵션 나는 생각했다 :

  • 에 액세스 formbuilder 구성하지만 실제로 양식을 구축하지 않고
  • 해당 파일
에 중앙 설정 파일 및 조회 formbuilder에서와 나뭇 가지 파일이

그러나 어느 방법을 사용해도 Symfony에서 익숙하지 않은 것을 '할'것을 요구합니다. 이것이 이미 해결 된 것 같지만 어떻게 확신 할 수없는 것 같습니다.

답변

4

이 문제를 극복하기 위해 번역 시스템을 사용할 수 있습니다. config.yml에서 번역을 사용하도록 설정했는지 확인하십시오. 이

$builder->add('title', 'text', array(
    'label'=> 'model.title' 
)); 
//..... 

당신의 번들에 messages.en.ymlResources/translations 디렉토리 (기본 로케일 en를 교체하고 로케일에 따라 여러 파일을 만들라는 이름의 파일을 만듭니다. 확인 translation 장처럼 formtype에 필드를 추가 한 경우

책의.) 및 Title 표시됩니다

#src/YourBundle/Resources/translation/messages.en.yml 
model: 
    title: "Title" 
    field: "Field" 
    #.... 

추가 및 편집 양식 레이블 다음 넣어. 이 과정이 조금 긴이지만 한 번이고 당신이 번역 파일을 변경하여 레이블의 값을 변경할 수 있지만 인덱스와 쇼 페이지에서 당신은

{{ "model.title" | trans([], 'messages') }} 

을 할 수 있습니다.

+0

번역 시스템을 사용하지 않을 것입니다. 또한 필요한 경우 신속한 i18n 추가 이점이 있습니다. 좋은 생각, 고마워. –