<?php
namespace App\Entity\Pages;
use App\Entity\Traits\MenuTrait;
use App\Form\Pages\NewsOverviewPageAdminType;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Kunstmaan\NodeSearchBundle\Helper\SearchTypeInterface;
use Kunstmaan\PagePartBundle\Helper\HasPageTemplateInterface;
use Kunstmaan\NodeBundle\Controller\SlugActionInterface;
use Kunstmaan\ArticleBundle\Entity\AbstractArticleOverviewPage;
use Kunstmaan\NodeBundle\Helper\RenderContext;
use Kunstmaan\PagePartBundle\PagePartAdmin\AbstractPagePartAdminConfigurator;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Form\AbstractType;
/**
* The article overview page which shows its articles
*
* @ORM\Entity(repositoryClass="App\Repository\NewsOverviewPageRepository")
* @ORM\Table(name="gcs_news_overview_pages")
* @ORM\AssociationOverrides(
* @ORM\AssociationOverride(name="headerImage",
* joinTable=@ORM\JoinTable(name="gcs_pages_header_images_news_overview"),
* joinColumns=@ORM\JoinColumn(
* name="news_overview_id", referencedColumnName="id"
* )
* ),
* @ORM\AssociationOverride(name="listImage",
* joinTable=@ORM\JoinTable(name="gcs_pages_list_images_news_overview"),
* joinColumns=@ORM\JoinColumn(
* name="news_overview_id", referencedColumnName="id"
* )
* )
* )
*/
class NewsOverviewPage extends AbstractArticleOverviewPage implements HasPageTemplateInterface, SearchTypeInterface, SlugActionInterface
{
use MenuTrait;
public function __construct()
{
$this->headerImage = new ArrayCollection();
$this->listImage = new ArrayCollection(); }
/**
* @return AbstractPagePartAdminConfigurator[]
*/
public function getPagePartAdminConfigurations()
{
return array('newsmain');
}
/**
* {@inheritdoc}
*/
public function getPageTemplates()
{
return array('newsoverviewpage');
}
/**
* @param \Doctrine\ORM\EntityManagerInterface $em
*
* @return \Doctrine\Common\Persistence\ObjectRepository
*/
public function getArticleRepository($em)
{
return $em->getRepository('App:Pages\NewsPage');
}
/**
* @return string
*/
public function getDefaultView()
{
return 'Pages/NewsOverviewPage/view.html.twig';
}
/**
* {@inheritdoc}
*/
public function getSearchType()
{
return 'AktualnoĆci';
}
/**
* Returns the default backend form type for this page
*
* @return string
*/
public function getDefaultAdminType()
{
return NewsOverviewPageAdminType::class;
}
/**
* @return string
*
*/
public function getControllerAction()
{
return 'App\Controller\NewsArticleController::serviceAction';
}
}