如何从Symfony简单的cms包中扩展Page类?

时间:2014-05-23 14:24:49

标签: symfony symfony-cmf doctrine-phpcr

我试图从symfony simple cms bundle中extend the default Page class

问题:
自定义属性不会保留。

以下是从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 个答案:

答案 0 :(得分:1)

这看起来几乎是正确的,但你错过了$ code的映射:

/**
 * @PHPCRODM\String(nullable=true)
 */
private $code;

我认为$code不依赖于语言。否则你需要nullable=true,translatable=true

如果您还希望映射PHPCR节点,则需要

/**
 * @PHPCRODM\Node
 */
public $node;