2014-11-25 3 views
1

https://github.com/KnpLabs/DoctrineBehaviors#translatable과 같은 항목을 설정했습니다. 또한 http://a2lix.fr/bundles/translation-form/과 동일하게 구성됩니다. 또한 __call 메서드를 추가하고 How to print translatable data in sonata admin with DoctrineBehaviors from kpnlabs을 구현하려고합니다. 먼저 $ name이 Category.php에 존재하지 않는다는 오류가 발생합니다. 그래서 나는 그것을 추가합니다, 지금 오류가 있습니다 : Neither the property "name" nor one of the methods "addName()"/"removeName()", "setName()", "name()", "__set()" or "__call()" exist and have public access in class. 질문은 주 Entity에서 setter/getter를 제거하는 방법입니다. 오류 때문에 오류가 발생했습니다. 어쩌면 누군가가 이것에 대한 적절한 마술을 가지고 있을까요?Knp DoctrineBehaviors + a2lix_translations + Sonata Admin

Category.php

class MyClass 
{ 

    use \Knp\DoctrineBehaviors\Model\Translatable\Translatable; 

    private $name; //added after error 

    public function __call($method, $arguments) 
    { 
     return $this->proxyCurrentLocaleTranslation($method, $arguments); 
    } 

    public function getName() { 
     return $this->translate()->getName(); //added after error 
    } 

    #public function getName() { 
    # return ($this->getTranslations()); // also trying like this 
    #} 

    // ... 

CategoryTranslation.php는

소나타 카테고리 관리에서
use Doctrine\ORM\Mapping as ORM; 
use Knp\DoctrineBehaviors\Model as ORMBehaviors; 

/** 
* CategoryTranslation 
*/ 
class CategoryTranslation 
{ 
    use ORMBehaviors\Translatable\Translation; 

    /** 
    * @var string 
    */ 
    private $name; 

    /** 
    * Set name 
    * 
    * @param string $name 
    * @return CategoryTranslation 
    */ 
    public function setName($name) 
    { 
     $this->name = $name; 

     return $this; 
    } 

    /** 
    * Get name 
    * 
    * @return string 
    */ 
    public function getName() 
    { 
     return $this->name; 
    } 
} 

: 나는 내 카테고리 (접속 메시지)를 추가

$formMapper->add('name', 'a2lix_translations'); 

나는 "데이터베이스에서 볼 이름은 "과 같습니다.

Doctrine\Common\Collections\[email protected] 

답변

0

메인 클래스에서 세터와 게터를 제거하면 doctrine:schema:update이됩니다. 소나타 카테고리 관리자 :

$formMapper->add('translations', 'a2lix_translations');