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]