12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- /**
- * Copyright © 2015 Ihor Vansach (ihor@magefan.com). All rights reserved.
- * See LICENSE.txt for license details (http://opensource.org/licenses/osl-3.0.php).
- *
- * Glory to Ukraine! Glory to the heroes!
- */
- namespace Magefan\Blog\Block\Post\View;
- use Magento\Catalog\Model\ResourceModel\Product\Collection;
- use Magento\Framework\View\Element\AbstractBlock;
- /**
- * Blog post related posts block
- */
- class RelatedPosts extends \Magefan\Blog\Block\Post\PostList\AbstractList
- {
- /**
- * Prepare posts collection
- *
- * @return void
- */
- protected function _preparePostCollection()
- {
- $pageSize = (int) $this->_scopeConfig->getValue(
- 'mfblog/post_view/related_posts/number_of_posts',
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE
- );
- $this->_postCollection = $this->getPost()->getRelatedPosts()
- ->addActiveFilter()
- ->setPageSize($pageSize ?: 5);
- $this->_postCollection->getSelect()->order('rl.position', 'ASC');
- }
- /**
- * Retrieve true if Display Related Posts enabled
- * @return boolean
- */
- public function displayPosts()
- {
- return (bool) $this->_scopeConfig->getValue(
- 'mfblog/post_view/related_posts/enabled',
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE
- );
- }
- /**
- * Retrieve posts instance
- *
- * @return \Magefan\Blog\Model\Category
- */
- public function getPost()
- {
- if (!$this->hasData('post')) {
- $this->setData('post',
- $this->_coreRegistry->registry('current_blog_post')
- );
- }
- return $this->getData('post');
- }
- /**
- * Get Block Identities
- * @return Array
- */
- public function getIdentities()
- {
- return [\Magento\Cms\Model\Page::CACHE_TAG . '_relatedposts_'.$this->getPost()->getId() ];
- }
- }
|