/** * Renders requested article and sends it to client. * * @param array $arguments */ public function __invoke(array $arguments) { try { $slug = $arguments['slug']; $article = $this->domain->getArticleBySlug($slug); $this->responder->setTitle($article->getMetaTitle()); $this->responder->setDescription($article->getDescription()); $this->responder->setFeedUrl($this->feedDomain->getFeedUrlPath()); $this->responder->setIndex($this->domain->getIndex()); $this->responder->assign('article', $article); $this->responder->assign('navActive', 'blog'); $this->responder->__invoke(); } catch (NotFoundException $e) { $responder = new NotFoundResponder($this->config); $responder->assign('info', $e->getMessage()); $responder->__invoke(); } }
/** * Renders requested article and sends it to client. * * @param array $arguments */ public function __invoke(array $arguments) { try { $category = $arguments['slug'] ?? ''; $page = (int) ($arguments['page'] ?? 0); $this->responder->setPage($page); $this->responder->setTitle($this->domain->getTitle($page, $category)); $this->responder->setDescription($this->domain->getDescription($page, $category)); $this->responder->setIndex($this->domain->getIndex($page, $category)); $this->responder->setFeedUrl($this->feedDomain->getFeedUrlPath($category)); $this->responder->assign('articles', $this->domain->getArticles($page, $category)); $this->responder->assign('urlNextPage', $this->domain->getUrlNextPage($page, $category)); $this->responder->assign('urlPrevPage', $this->domain->getUrlPrevPage($page, $category)); $this->responder->assign('navActive', 'blog'); $this->responder->assign('showTitle', $page < 2); $this->responder->__invoke(); } catch (NotFoundException $e) { $responder = new NotFoundResponder($this->config); $responder->assign('info', $e->getMessage()); $responder->__invoke(); } }