public function render() { $template = $this->template; $blog = $this->database->table("pages")->where(array("date_published <= ?" => date('Y-m-d H:i:s'), "pages_types_id" => 2))->order("date_created DESC"); $paginator = new \Nette\Utils\Paginator(); $paginator->setItemCount($blog->count("*")); $paginator->setItemsPerPage(20); $paginator->setPage($this->presenter->getParameter("page")); $template->blog = $blog->limit($paginator->getLength(), $paginator->getOffset()); $template->paginator = $paginator; $template->args = $this->getParameters(); $template->setFile(__DIR__ . '/BlogListControl.latte'); $template->render(); }
$breadcrumbs = [['title' => 'People', 'link' => '/people'], ['title' => $person['Name']]]; $latte->render('templates/people/person.latte', ['breadcrumbs' => $breadcrumbs, 'person' => $person]); }); $app->get('/news', function () use($app, $latte) { // prepare breadcrumbs $breadcrumbs = [['title' => 'News archive']]; $newsCount = cockpit('collections:count', 'News'); $pageParam = $app->request()->get('page'); $currentPage = $pageParam ? $pageParam : 1; $paginator = new \Nette\Utils\Paginator(); $paginator->setItemCount($newsCount); $paginator->setItemsPerPage(6); $paginator->setPage($currentPage); $limit = $paginator->getItemsPerPage(); // per page $offset = $paginator->getOffset(); $news = collection('News')->find()->limit($limit)->skip($offset)->sort(['created' => -1])->toArray(); $latte->render('templates/news/news.latte', ['breadcrumbs' => $breadcrumbs, 'paginator' => $paginator, 'news' => $news]); }); $app->get('/news/:slug', function ($slug) use($latte) { $entry = collection('News')->findOne(['Title_slug' => $slug]); if ($entry == null) { $latte->render('templates/error.latte'); return; } $breadcrumbs = [['title' => 'News archive', 'link' => '/news'], ['title' => $entry['Title']]]; $latte->render('templates/news/single.latte', ['breadcrumbs' => $breadcrumbs, 'entry' => $entry]); }); $app->get('/:page', function ($page) use($latte) { /** @var \Latte\Engine $latte */ $latte = \Mossbauer\Core\Container::get('latte');