<?php
namespace App\Entity\Pages;
use App\Entity\Traits\MenuTrait;
use App\Form\Pages\ClubsOverviewPageAdminType;
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\ClubsOverviewPageRepository")
* @ORM\Table(name="gcs_clubs_overview_pages")
* @ORM\AssociationOverrides(
* @ORM\AssociationOverride(name="headerImage",
* joinTable=@ORM\JoinTable(name="gcs_pages_header_images_clubs_overview"),
* joinColumns=@ORM\JoinColumn(
* name="clubs_overview_id", referencedColumnName="id"
* )
* ),
* @ORM\AssociationOverride(name="listImage",
* joinTable=@ORM\JoinTable(name="gcs_pages_list_images_clubs_overview"),
* joinColumns=@ORM\JoinColumn(
* name="clubs_overview_id", referencedColumnName="id"
* )
* )
* )
*/
class ClubsOverviewPage 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('clubsmain');
}
/**
* {@inheritdoc}
*/
public function getPageTemplates()
{
return array('clubsoverviewpage');
}
/**
* @param \Doctrine\ORM\EntityManagerInterface $em
*
* @return \Doctrine\Common\Persistence\ObjectRepository
*/
public function getArticleRepository($em)
{
return $em->getRepository('App:Pages\ClubsPage');
}
/**
* @return string
*/
public function getDefaultView()
{
return 'Pages/ClubsOverviewPage/view.html.twig';
}
/**
* {@inheritdoc}
*/
public function getSearchType()
{
return 'Kluby';
}
/**
* Returns the default backend form type for this page
*
* @return string
*/
public function getDefaultAdminType()
{
return ClubsOverviewPageAdminType::class;
}
/**
* @return string
*
*/
public function getControllerAction()
{
return 'App\Controller\ClubsArticleController::serviceAction';
}
}