Как расширить класс Page из простого набора CMS Symfony?
Я пытаюсь расширить класс Page по умолчанию из простого набора symfony.
Эта проблема:
Настраиваемое свойство не сохраняется.
Ниже приведен код класса, который расширяется от BasePage.
use Doctrine\ODM\PHPCR\Mapping\Annotations\Document;
use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCRODM;
use Symfony\Cmf\Bundle\SimpleCmsBundle\Doctrine\Phpcr\Page as BasePage;
/**
* {@inheritDoc}
* @PHPCRODM\Document(referenceable=true)
*/
class Product extends BasePage
{
public $node;
/**
* @var string(nullable=true)
*/
private $code;
/**
* Get Code
* @return string
*/
public function getCode()
{
return $this->code;
}
/**
* Set code
* @return Product
*/
public function setCode($code)
{
$this->code = $code;
return $this;
}
}
1 ответ
Решение
Это выглядит почти правильно, но вы пропустите отображение в $code:
/**
* @PHPCRODM\String(nullable=true)
*/
private $code;
Я предполагаю что $code
не зависит от языка. В противном случае вам нужно nullable=true,translatable=true
Если вы также хотите отобразить узел PHPCR, вам нужно
/**
* @PHPCRODM\Node
*/
public $node;