|
|
- <?php
-
- namespace App\Controllers;
-
- use SuperGear\Directus\Controllers\ControllerAbstract;
- use SuperGear\Repositories\Manager;
-
- /**
- * controller for page items from directus
- *
- *
- *
- * @author Björn Hase
- * @license http://opensource.org/licenses/MIT The MIT License
- * @link https://gitlab.tentakelfabrik.de/super-gear/directus GitHub Repository
- *
- */
- class PageController extends ControllerAbstract
- {
- /** slug for home */
- const HOME_SLUG = 'home';
-
- /** default view */
- protected $defaultView = 'page/default';
-
- /**
- * get home page from slug
- *
- *
- */
- public function indexAction()
- {
- $repository = Manager::get('Page');
- $page = $repository->findOneBySlug(self::HOME_SLUG);
-
- if ($this->notFound($page)) {
- $this->app->redirect('404');
- }
-
- $this->render($page);
- }
-
- /**
- * get single page from slug
- *
- *
- * @param string $slug
- */
- public function getAction($slug)
- {
- $repository = Manager::get('Page');
- $page = $repository->findOneBySlug($slug);
-
- if ($this->notFound($page)) {
- $this->app->redirect('404');
- }
-
- $this->render($page);
- }
-
- /**
- * if page not found
- *
- */
- public function notFoundAction()
- {
- $page = [
- 'data' => [
- 'view' => 'page/404'
- ]
- ];
-
- $this->render($page);
- }
- }
|