2017-11-03 12 views
1

레이블을 문자열과 연결할 수 없습니다. 내가 라벨이 필요한 값이기 때문에 결과가 Originador* 것이 필요 'label' => "app.label.x_originador".'*', 의 부분에서 symfony3에서 레이블을 문자열과 연결할 수 없습니다.

->add('originador', EntityType::class, array(
    'label' => "app.label.x_originador".'*', 
    'class' => 'AppBundle:Usuario', 
    'em' => $options['entityManager'], 
    'query_builder' => function (EntityRepository $er) { 
     return $er->createQueryBuilder('u');  
    }, 
    'placeholder' => '', 
    'required' => false, 
)) 

. 내가받을

결과는 결과로 Originador*을 얻을 도와주세요 app.label.x_originador*

입니다.

+1

라벨, @ 아마. 당신의 텍스트''- 그래서 나는 그 별표를 CSS 클래스에 덧붙일 것이다 :'label.required :: after {content : "*"; }' – ccKep

+0

또한 필드가 필요한 경우 - 왜 그 요소의 끝에'required '=> false'를 설정 했습니까? – ccKep

+0

은 모든 클래스를 암호화하고 레이블 작업을 시도하는 im을 발생시킵니다. 다른 것을 넣거나 바꾸기 전에 'label'=> 'app.label.x_originador'. '*'결과를 얻고 싶습니다. 그 후에 모든 앱을 수정합니다. – segoitz

답변

1

당신은 당신의 폼 타입으로 번역 서비스를 전달할 수 있습니다 다음과 같이 연결하여 번역 :

 
class MyFormType extends AbstractType 
{ 
    private $translator; 

    public function __construct(TranslatorInterface $translator) 
    { 
     $this->translator = $translator; 
    } 

    /** 
    * @param FormBuilderInterface $builder 
    * @param array $options 
    */ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('originador', EntityType::class, array(
       'label' => $this->translator->trans('app.label.x_originador',[], 'domain').'*', 
       'class' => 'AppBundle:Usuario', 
       'em' => $options['entityManager'], 
       'query_builder' => function (EntityRepository $er) { 
        return $er->createQueryBuilder('u'); 
       }, 
       'placeholder' => '', 
       'required' => false, 
      )); 
     } 
    } 

이 juste 번역 도메인 "도메인"을 대체합니다.

편집 :하지만 그래, 가장 좋은 방법은 예를 들어 이미 "필요한"CSS 클래스를 얻어야한다 ccKep의 하나 개

+0

이 오류가 있습니다. 유형 오류 : AppBundle \ Form \ Type \ Consulta3Type :: __ construct() 함수가 너무 적은 인수가 C : \ Web \ www \ kybse \ cis3 \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ FormRegistry.php 85 행에 있고 정확히 1이 예상 됨 공용 함수에서 __construct (TranslatorInterface $ translator) – segoitz