public function actionView($id) { $query = strtolower($id); $article = (new \Stack\Entity\Article())->fetchById($query); if (!$article->exists()) { return null; } if ($id != $article->id) { \Staq\Util::httpRedirect(\Staq\Util::getModelControllerUrl($article), 301); } $view = $this->createView(); $view['article'] = $article; return $view; }
protected function extendTwig() { $publicFilter = new \Twig_SimpleFilter('public', ['Staq\\Util', 'getPublicUrl']); $this->twig->addFilter($publicFilter); $publicFunction = new \Twig_SimpleFunction('public', ['Staq\\Util', 'getPublicUrl']); $this->twig->addFunction($publicFunction); $assetFunction = new \Twig_SimpleFunction('asset', ['Staq\\Util', 'getAssetUrl']); $this->twig->addFunction($assetFunction); $routeFunction = new \Twig_SimpleFunction('route', ['Staq\\Util', 'getControllerUrl']); $this->twig->addFunction($routeFunction); $routeFunction = new \Twig_SimpleFunction('route_model_*', function ($action, $model) { return \Staq\Util::getModelControllerUrl($model, $action); }); $this->twig->addFunction($routeFunction); $routeFunction = new \Twig_SimpleFunction('route_model', ['Staq\\Util', 'getModelControllerUrl']); $this->twig->addFunction($routeFunction); $findFunction = new \Twig_SimpleFunction('find_template', array(get_class($this), 'findTemplate')); $this->twig->addFunction($findFunction); if ($this->debug) { $this->twig->addExtension(new \Twig_Extension_Debug()); } }