2011-10-03 2 views
5

나는 교리 번역 가능한 확장 사용이 개 번역 필드가 내 앱에서 엔티티를 가지고 :사용 교리 번역 함께 심포니 2 개 형태의

class Page implements Translatable 
{ 
    /...... 

    /** 
    * @var string $name 
    * @Gedmo\Translatable 
    * @ORM\Column(name="name", type="string", length=255) 
    */ 
    private $name; 

    /** 
    * @var text $content 
    * @Gedmo\Translatable 
    * @ORM\Column(name="content", type="text") 
    */ 
    private $content; 

/........ 
} 

내가 여러 기관의 번역에 대해 하나 개의 테이블을 사용합니다. 이제 하나의 양식을 사용하여이 속성에 대한 원래 및 변환 된 (1 언어로) 값을 얻으므로 4 개의 필드가 있어야합니다.

AbstractType에서 파생 된 새 양식을 정의하고 FormBuilder를 사용하여이 두 필드를 추가하려고했지만 해당 엔터티에 이러한 필드가 포함되어 있지 않다는 메시지가 표시됩니다. 엔티티에 이러한 필드를 추가하고 getter를 선언하려고 시도했지만 엔티티에 대한 변환을 얻는 유일한 방법은 전용 엔티티 관리자를 사용하는 것이며 엔티티 관리자 액세스를 엔티티에 제공하는 것은 좋은 방법이 아닙니다.

양식을 사용하여 그런 것을 처리 할 수있는 방법이 있습니까?

+1

그것을 모르지만이 번들 나를 위해 큰 일을 https://github.com/a2lix/TranslationFormBundle – snyx

+0

당신의 TranslationExtraBundle를 사용할 수 있습니다 https://github.com/ideea/TranslationExtraBundle 그리고 이 번들을 사용할 때 오픈 소스 프로젝트 : https://github.com/ZhukV/Nadiyka – ZhukV

+0

FormType에서 코드를 게시하십시오. – jovobe

답변

2

나는 그것이 어쨌든 오래된 질문이라는 것을 알고있다.

array('mapped'=>false)

이 같은 데이터를 가지고 :

$form->get('field_name')->getData(); 

을 다음이

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/translatable.md#multi-translations처럼 지속

당신은 속성으로 FormBuilder를 사용하여 변환 된 내용에 대한 필드를 둘 수 있었다

누군가가 도움이되기를 바랍니다. 그것은 당신의 요구에 맞는 경우