src/Entity/Pages/NewsOverviewPage.php line 39

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Pages;
  3. use App\Entity\Traits\MenuTrait;
  4. use App\Form\Pages\NewsOverviewPageAdminType;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Kunstmaan\NodeSearchBundle\Helper\SearchTypeInterface;
  8. use Kunstmaan\PagePartBundle\Helper\HasPageTemplateInterface;
  9. use Kunstmaan\NodeBundle\Controller\SlugActionInterface;
  10. use Kunstmaan\ArticleBundle\Entity\AbstractArticleOverviewPage;
  11. use Kunstmaan\NodeBundle\Helper\RenderContext;
  12. use Kunstmaan\PagePartBundle\PagePartAdmin\AbstractPagePartAdminConfigurator;
  13. use Symfony\Component\DependencyInjection\ContainerInterface;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\Form\AbstractType;
  16. /**
  17.  * The article overview page which shows its articles
  18.  *
  19.  * @ORM\Entity(repositoryClass="App\Repository\NewsOverviewPageRepository")
  20.  * @ORM\Table(name="gcs_news_overview_pages")
  21.  * @ORM\AssociationOverrides(
  22.  *      @ORM\AssociationOverride(name="headerImage",
  23.  *          joinTable=@ORM\JoinTable(name="gcs_pages_header_images_news_overview"),
  24.  *          joinColumns=@ORM\JoinColumn(
  25.  *              name="news_overview_id", referencedColumnName="id"
  26.  *          )
  27.  *      ),
  28.  *      @ORM\AssociationOverride(name="listImage",
  29.  *          joinTable=@ORM\JoinTable(name="gcs_pages_list_images_news_overview"),
  30.  *          joinColumns=@ORM\JoinColumn(
  31.  *              name="news_overview_id", referencedColumnName="id"
  32.  *          )
  33.  *      )
  34.  * )
  35.  */
  36. class NewsOverviewPage extends AbstractArticleOverviewPage implements HasPageTemplateInterfaceSearchTypeInterfaceSlugActionInterface
  37. {
  38.     use MenuTrait;
  39.     public function __construct()
  40.     {
  41.         $this->headerImage = new ArrayCollection();
  42.         $this->listImage = new ArrayCollection();     }
  43.     /**
  44.      * @return AbstractPagePartAdminConfigurator[]
  45.      */
  46.     public function getPagePartAdminConfigurations()
  47.     {
  48.         return array('newsmain');
  49.     }
  50.     /**
  51.      * {@inheritdoc}
  52.      */
  53.     public function getPageTemplates()
  54.     {
  55.         return array('newsoverviewpage');
  56.     }
  57.     /**
  58.      * @param \Doctrine\ORM\EntityManagerInterface $em
  59.      *
  60.      * @return \Doctrine\Common\Persistence\ObjectRepository
  61.      */
  62.     public function getArticleRepository($em)
  63.     {
  64.         return $em->getRepository('App:Pages\NewsPage');
  65.     }
  66.     /**
  67.      * @return string
  68.      */
  69.     public function getDefaultView()
  70.     {
  71.         return 'Pages/NewsOverviewPage/view.html.twig';
  72.     }
  73.     /**
  74.      * {@inheritdoc}
  75.      */
  76.     public function getSearchType()
  77.     {
  78.         return 'Aktualnoƛci';
  79.     }
  80.     /**
  81.      * Returns the default backend form type for this page
  82.      *
  83.      * @return string
  84.      */
  85.     public function getDefaultAdminType()
  86.     {
  87.         return NewsOverviewPageAdminType::class;
  88.     }
  89.     /**
  90.      * @return string
  91.      *
  92.      */
  93.     public function getControllerAction()
  94.     {
  95.         return 'App\Controller\NewsArticleController::serviceAction';
  96.     }
  97. }