File: D:/HostingSpaces/SBogers104/angeliekly.nl/app/Komma/AjaxViews/AjaxViewController.php
<?php
namespace Komma\AjaxViews;
use Komma\Pages\PageService;
use Komma\Posts\PostController;
class AjaxViewController extends \BaseController
{
private $pageService;
private $postController;
public function __construct(PageService $pageService, PostController $postController)
{
parent::__construct();
$this->pageService = $pageService;
$this->postController = $postController;
}
public function show()
{
$code_name = \Input::get('code_name');
$ajax_url = \Input::get('ajax_url');
// return json_encode([
// 'post_id' => \Input::get('article'),
// 'code_name' => $code_name
// ]);
//If code_name is article, load that article
if($code_name == 'article')
{
$postId = \Input::get('article');
return $this->postController->ajaxPost($postId, $ajax_url);
}
//If code_name is blog, load the articles (optional with filtered categories)
if($code_name == 'blog')
{
$category = \Input::get('category');
return $this->postController->ajaxPosts($category);
}
//get content of page
$page = $this->pageService->getPageByCodeName($code_name);
$page->ajax = true;
//get all page links
$links = $this->pageService->getAllRoutes();
//Remove Sessions if not blog overview or an article
\Session::forget('category');
\Session::forget('current_page');
//View is code name unless in array to make them default pages
$view = \View::make('layouts.ajax.' . $code_name)
->with('page', $page)
->with('links', $links)
->render();
return json_encode([
'metaTitle' => $page->translation->meta_title,
'metaDescription' => $page->translation->meta_description,
'content' => $view,
]);
}
}