getNavigation() public static method

Get an array with the previous and the next post
public static getNavigation ( integer $id ) : array
$id integer The id of the current item.
return array
Example #1
0
 /**
  * Parse the data into the template
  */
 private function parse()
 {
     // get RSS-link
     $rssTitle = $this->get('fork.settings')->get('Blog', 'rss_title_' . FRONTEND_LANGUAGE);
     $rssLink = FrontendNavigation::getURLForBlock('Blog', 'Rss');
     // add RSS-feed
     $this->header->addRssLink($rssTitle, $rssLink);
     // get RSS-link for the comments
     $rssCommentTitle = vsprintf(FL::msg('CommentsOn'), array($this->record['title']));
     $rssCommentsLink = FrontendNavigation::getURLForBlock('Blog', 'ArticleCommentsRss') . '/' . $this->record['url'];
     // add RSS-feed into the metaCustom
     $this->header->addRssLink($rssCommentTitle, $rssCommentsLink);
     // add specified image
     if (isset($this->record['image']) && $this->record['image'] != '') {
         $this->header->addOpenGraphImage(FRONTEND_FILES_URL . '/blog/images/source/' . $this->record['image']);
     }
     // Open Graph-data: add images from content
     $this->header->extractOpenGraphImages($this->record['text']);
     // Open Graph-data: add additional OpenGraph data
     $this->header->addOpenGraphData('title', $this->record['title'], true);
     $this->header->addOpenGraphData('type', 'article', true);
     $this->header->addOpenGraphData('url', SITE_URL . $this->record['full_url'], true);
     $this->header->addOpenGraphData('site_name', $this->get('fork.settings')->get('Core', 'site_title_' . FRONTEND_LANGUAGE, SITE_DEFAULT_TITLE), true);
     $this->header->addOpenGraphData('description', $this->record['meta_description_overwrite'] == 'Y' ? $this->record['meta_description'] : $this->record['title'], true);
     // Twitter Card
     $imgURL = FRONTEND_FILES_URL . '/blog/images/source/' . $this->record['image'];
     $this->header->setTwitterCard($this->record['title'], $this->record['meta_description'], $imgURL);
     // when there are 2 or more categories with at least one item in it,
     // the category will be added in the breadcrumb
     if (count(FrontendBlogModel::getAllCategories()) > 1) {
         $this->breadcrumb->addElement($this->record['category_title'], FrontendNavigation::getURLForBlock('Blog', 'Category') . '/' . $this->record['category_url']);
     }
     // add into breadcrumb
     $this->breadcrumb->addElement($this->record['title']);
     // set meta
     $this->header->setPageTitle($this->record['meta_title'], $this->record['meta_title_overwrite'] == 'Y');
     $this->header->addMetaDescription($this->record['meta_description'], $this->record['meta_description_overwrite'] == 'Y');
     $this->header->addMetaKeywords($this->record['meta_keywords'], $this->record['meta_keywords_overwrite'] == 'Y');
     // advanced SEO-attributes
     if (isset($this->record['meta_data']['seo_index'])) {
         $this->header->addMetaData(array('name' => 'robots', 'content' => $this->record['meta_data']['seo_index']));
     }
     if (isset($this->record['meta_data']['seo_follow'])) {
         $this->header->addMetaData(array('name' => 'robots', 'content' => $this->record['meta_data']['seo_follow']));
     }
     $this->header->setCanonicalUrl($this->record['full_url']);
     // assign article
     $this->tpl->assign('item', $this->record);
     // count comments
     $commentCount = count($this->comments);
     // assign the comments
     $this->tpl->assign('commentsCount', $commentCount);
     $this->tpl->assign('comments', $this->comments);
     // options
     if ($commentCount > 1) {
         $this->tpl->assign('blogCommentsMultiple', true);
     }
     // parse the form
     $this->frm->parse($this->tpl);
     // some options
     if ($this->URL->getParameter('comment', 'string') == 'moderation') {
         $this->tpl->assign('commentIsInModeration', true);
     }
     if ($this->URL->getParameter('comment', 'string') == 'spam') {
         $this->tpl->assign('commentIsSpam', true);
     }
     if ($this->URL->getParameter('comment', 'string') == 'true') {
         $this->tpl->assign('commentIsAdded', true);
     }
     // assign settings
     $this->tpl->assign('settings', $this->settings);
     $navigation = FrontendBlogModel::getNavigation($this->record['id']);
     // set previous and next link for usage with Flip ahead
     if (!empty($navigation['previous'])) {
         $this->header->addLink(array('rel' => 'prev', 'href' => SITE_URL . $navigation['previous']['url']));
     }
     if (!empty($navigation['next'])) {
         $this->header->addLink(array('rel' => 'next', 'href' => SITE_URL . $navigation['next']['url']));
     }
     // assign navigation
     $this->tpl->assign('navigation', $navigation);
 }