Frontend\Modules\Blog\Actions\Detail::parse PHP Method

parse() private method

Parse the data into the template
private parse ( )
    private function parse()
    {
        // get RSS-link
        $rssTitle = $this->get('fork.settings')->get('Blog', 'rss_title_' . 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_' . 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);
    }