src/Mod/SightseeingBundle/Controller/Display/ActionController.php line 62

Open in your IDE?
  1. <?php
  2. namespace Mod\SightseeingBundle\Controller\Display;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use CustomBundle\Controller\CustomFacilityDisplayBaseController as FacilityDisplayBaseController;
  7. use Mod\SightseeingBundle\Entity\Item;
  8. use Mod\SightseeingBundle\Entity\Category;
  9. class ActionController extends FacilityDisplayBaseController
  10. {
  11.     protected $itemClass Item::class;
  12.     protected $categoryClass Category::class;
  13.     public $default_setting null;
  14.     public $views = [
  15.         "top" => "index.php",
  16.         "index" => "sightseeing/index.php",
  17.     ];
  18.     
  19.     public $settings = [
  20.         "pageLimit" => 9,
  21.         "pagerNum" => 5,
  22.         "theme" => "sightseeing"
  23.     ];
  24.     public function before(FilterControllerEvent $event)
  25.     {
  26.         parent::before($event); // TODO: Change the autogenerated stub
  27.         $this->default_setting $this->getDefaultParameter('mod_sightseeing.default_settings');
  28.     }
  29.     /**
  30.      * @Route("/sightseeing/", name="mod_sightseeing_group_list")
  31.      */
  32.     public function groupListAction(Request $request)
  33.     {
  34.         /** @var BundleUtility $util */
  35.         $util $this->get('mod_sightseeing.bundle_utility');
  36.         $repo $this->getDoctrine()->getRepository($this->itemClass);
  37.         $order = ['sort_num' => 'ASC''id' => 'DESC'];
  38.         $page $request->query->getInt('page'1);
  39.         if($page 1){
  40.             $page 1;
  41.         }
  42.         $limit $this->settings['pageLimit'];
  43.         $paginator $util->searchItems($request->query->all(), $order$limit$page);
  44.         if(isset($this->default_setting['pagination']['page_range'])){
  45.             $paginator->setPageRange($this->default_setting['pagination']['page_range']);
  46.         }
  47.         $pagination $this->getPaginationParams($paginator);
  48.         $items $paginator->getItems();
  49.         return $this->renderFront($this->views['index'], [
  50.             'cms__items' => $items,
  51.             'cms__pagination' => $pagination
  52.         ]);
  53.     }
  54.     public function getCategories($facility_id null)
  55.     {
  56.         $categories = [];
  57.         if (!isset($this->categoryClass) || is_null($this->categoryClass)) {
  58.             return $categories;
  59.         }
  60.         $repository $this->getDoctrine()->getRepository($this->categoryClass);
  61.         $posts $repository->getCategoryEntityList();
  62.         foreach ($posts as $post) {
  63.             $items $post->getItems();
  64.             if ($items && !empty($post->getItems()->ToArray())) {
  65.                 $categories[] = $post;
  66.             }
  67.         }
  68.         return $categories;
  69.     }
  70. }