_request->getParam( \Magefan\Blog\Block\Post\PostList\Toolbar::PAGE_PARM_NAME ); if ($page > 1) { $this->pageConfig->setRobots('NOINDEX,FOLLOW'); } return parent::_prepareLayout(); } /** * Retrieve post html * @param \Magefan\Blog\Model\Post $post * @return string */ public function getPostHtml($post) { return $this->getChildBlock('blog.posts.list.item')->setPost($post)->toHtml(); } /** * Retrieve Toolbar Block * @return \Magefan\Blog\Block\Post\PostList\Toolbar */ public function getToolbarBlock() { $blockName = $this->getToolbarBlockName(); if ($blockName) { $block = $this->getLayout()->getBlock($blockName); if ($block) { return $block; } } $block = $this->getLayout()->createBlock($this->_defaultToolbarBlock, uniqid(microtime())); return $block; } /** * Retrieve Toolbar Html * @return string */ public function getToolbarHtml() { return $this->getChildHtml('toolbar'); } /** * Before block to html * * @return $this */ protected function _beforeToHtml() { $toolbar = $this->getToolbarBlock(); // called prepare sortable parameters $collection = $this->getPostCollection(); // set collection to toolbar and apply sort $toolbar->setCollection($collection); $this->setChild('toolbar', $toolbar); return parent::_beforeToHtml(); } /** * Prepare breadcrumbs * * @param string $title * @param string $key * @throws \Magento\Framework\Exception\LocalizedException * @return void */ protected function _addBreadcrumbs($title = null, $key = null) { if ($breadcrumbsBlock = $this->getBreadcrumbsBlock()) { $breadcrumbsBlock->addCrumb( 'home', [ 'label' => __('Home'), 'title' => __('Go to Home Page'), 'link' => $this->_storeManager->getStore()->getBaseUrl() ] ); $blogTitle = $this->_scopeConfig->getValue( 'mfblog/index_page/title', ScopeInterface::SCOPE_STORE ); $breadcrumbsBlock->addCrumb( 'blog', [ 'label' => __($blogTitle), 'title' => __($blogTitle), 'link' => $title ? $this->_url->getBaseUrl() : null, ] ); if ($title) { $breadcrumbsBlock->addCrumb($key ?: 'blog_item', ['label' => $title, 'title' => $title]); } } } /** * Retrieve breadcrumbs block * * @return mixed */ protected function getBreadcrumbsBlock() { if ($this->_scopeConfig->getValue('web/default/show_cms_breadcrumbs', ScopeInterface::SCOPE_STORE)) { return $this->getLayout()->getBlock('breadcrumbs'); } return false; } }