1

FormBuilder を使用してフォームを作成しています。それはうまくいきます。問題は、オプション付きの選択フィールドを作成する「ライセンス オブジェクト」です。これらのオプションは翻訳する必要があります。しかし、それを行う方法は?

$form = $this   ->createFormBuilder($request)
                    ->add('title', 'text',
                        array(  'label' => $this->get('translator')->trans('form.title', array(), 'client_request_a_photo'))
                    )
                    ->add('description', 'textarea',
                        array(  'label' => $this->get('translator')->trans('form.description', array(), 'client_request_a_photo'))
                    )
                    ->add('licence','document',
                       array('class'=>'WunschbildBundle\Document\Licence', 'property'=>'options', 
                          'label' => $this->get('translator')->trans('form.licence', array(), 'client_request_a_photo'))
                    )                      
                    ->getForm();
4

1 に答える 1

1

いずれにせよ、「ドキュメント」フィールドタイプを指定しないため、あまり役に立ちません。ただし、私が理解していることから、オプションは「ライセンス」オブジェクトの属性「オプション」を介してフェッチされます。それらを翻訳する場合は、オブジェクト「ライセンス」が翻訳可能であり、属性「オプション」に翻訳が含まれている必要があります。これは、Doctrine拡張バンドルを使用して行うことができます。Translatableに関するドキュメントは、ここにあります。この助けを願っています。

于 2012-09-26T08:59:59.993 に答える