lib/composer/PageBundle/src/VisualMedia/PageBundle/Entity/BasePage.php line 28

Open in your IDE?
  1. <?php
  2. /**
  3.  * Base Page
  4.  *
  5.  * @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
  6.  */
  7. namespace VisualMedia\PageBundle\Entity;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use VisualMedia\LisaBundle\Component\Interfaces\EntityInterface;
  10. use VisualMedia\LisaBundle\Traits\BlameableTrait;
  11. use VisualMedia\LisaBundle\Traits\AutoIdTrait;
  12. use VisualMedia\LisaBundle\Traits\TimestampableTrait;
  13. use VisualMedia\PageBundle\Model\BasePageModel;
  14. use VisualMedia\OrderingBundle\Traits\OrderingTrait;
  15. /**
  16.  * Base Page
  17.  *
  18.  * @ORM\Entity(repositoryClass="VisualMedia\PageBundle\Manager\BasePageManager")
  19.  * @ORM\Table(name="page")
  20.  *
  21.  * @ORM\InheritanceType("SINGLE_TABLE")
  22.  * @ORM\DiscriminatorColumn(name="discriminator", type="string")
  23.  */
  24. class BasePage extends BasePageModel implements EntityInterface
  25. {
  26.     use BlameableTrait;
  27.     use AutoIdTrait;
  28.     use OrderingTrait;
  29.     use TimestampableTrait;
  30.     /**
  31.      * @ORM\ManyToMany(targetEntity="VisualMedia\TranslationBundle\Entity\BaseChannel")
  32.      * @ORM\JoinTable(name="page_channel",
  33.      *      joinColumns={@ORM\JoinColumn(name="page_id", referencedColumnName="id", onDelete="CASCADE")},
  34.      *      inverseJoinColumns={@ORM\JoinColumn(name="channel_id", referencedColumnName="id", onDelete="CASCADE")}
  35.      * )
  36.      */
  37.     public $channels;
  38.     /**
  39.      * @ORM\OneToMany(targetEntity="VisualMedia\PageBundle\Entity\BasePageContent", mappedBy="page", cascade={"persist", "remove"}, orphanRemoval=true)
  40.      */
  41.     public $contents;
  42.     /**
  43.      * Translatable
  44.      */
  45.     public $title;
  46.     public $browserTitle;
  47.     public $slug;
  48.     public $metaDescription;
  49.     public $metaKeywords;
  50.     public $htmlContent;
  51.     /**
  52.      * @ORM\Column(name="published", type="boolean", nullable=false)
  53.      */
  54.     public $published true;
  55.     /**
  56.      * @ORM\Column(name="indexable", type="boolean", nullable=false)
  57.      */
  58.     public $indexable true;
  59.     /**
  60.      * @ORM\Column(name="layout", type="string", nullable=true)
  61.      */
  62.     public $layout;
  63.     /**
  64.      * @ORM\Column(name="system_page", type="boolean", nullable=false)
  65.      */
  66.     public $systemPage false;
  67.     /**
  68.      * @ORM\Column(name="components", type="text", nullable=true)
  69.      * 
  70.      */
  71.     public $components;
  72.      /**
  73.      * @ORM\ManyToOne(targetEntity="VisualMedia\PageBundle\Entity\BasePage", inversedBy="children")
  74.      * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
  75.      */
  76.     public $parent;
  77.     /**
  78.      * @ORM\OneToMany(targetEntity="VisualMedia\PageBundle\Entity\BasePage", mappedBy="parent", cascade={"persist"})
  79.      * @ORM\OrderBy({"ordering"="ASC"})
  80.      */
  81.     public $children;
  82.     /**
  83.      * @ORM\ManyToMany(targetEntity="VisualMedia\VisualBundle\Entity\BaseVisual")
  84.      * @ORM\JoinTable(name="page_visual_link",
  85.      *      joinColumns={@ORM\JoinColumn(name="page_id", referencedColumnName="id", onDelete="CASCADE")},
  86.      *      inverseJoinColumns={@ORM\JoinColumn(name="visual_id", referencedColumnName="id", onDelete="CASCADE")}
  87.      * )
  88.      */
  89.     public $visuals;
  90.     /**
  91.      * @ORM\ManyToMany(targetEntity="VisualMedia\BlockTemplateBundle\Entity\Block", cascade={"persist", "remove"}, orphanRemoval=true)
  92.      * @ORM\JoinTable(name="page_block",
  93.      *      joinColumns={@ORM\JoinColumn(name="page_id", referencedColumnName="id", onDelete="CASCADE")},
  94.      *      inverseJoinColumns={@ORM\JoinColumn(name="block_id", referencedColumnName="id", onDelete="CASCADE", unique=true)}
  95.      * )
  96.      */
  97.     public $blocks;
  98. }