File: D:/HostingSpaces/SBogers10/ijzerenman.komma.pro/app/Custom/Pages/PageController.php
<?php
namespace Komma\Pages;
use Komma\Controllers\BaseController;
class PageController extends BaseController
{
/**
* @var PageRepository
*/
protected $pageRepository;
/**
* @var DynamicPage
*/
protected $dynamicPage;
/**
* @param DynamicPage $dynamicPage
* @param PageRepository $pageRepository
*/
public function __construct(DynamicPage $dynamicPage, PageRepository $pageRepository)
{
parent::__construct();
$this->pageRepository = $pageRepository;
$this->dynamicPage = $dynamicPage;
}
public function index()
{
// Get current page entity
$entity = \Current::pageEntity();
list($parent) = $this->pageRepository->getParents($entity->page['lft'], $entity->page['rgt']);
// Create dynamic page
$dynamicPage = $this->dynamicPage->createFromEntity($entity);
// Header image
$headerImage = $this->pageRepository->getHeaderImageByPageId($entity->page['id']);
if( ! empty($headerImage)) $headerImage = $headerImage->headerImage;
if(empty($headerImage)) $headerImage = $parent->headerImage;
// Decide what view to load
$entity->codeName() == 'home' ? $view = 'home' : $view = 'default';
// Render view
$view = \View::make('layouts.pages.' . $view)
->with([
'entity' => $entity,
'headerImage' => $headerImage,
'global' => $parent,
'dynamicPage' => $dynamicPage,
'bodyClass' => $entity->codeName()
])->render();
return $this->renderView($view, $entity);
}
public function abort()
{
\Current::setDefault();
$this->setGlobalNavigation();
// Render view
$view = \View::make('layouts.pages.abort')->render();
// Return view with 404 not found header
return \Response::make($view, 404);
}
}