![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magefan/module-blog/Block/Sidebar/ |
<?php /** * Copyright © Magefan ([email protected]). All rights reserved. * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement). * * Glory to Ukraine! Glory to the heroes! */ declare(strict_types=1); namespace Magefan\Blog\Block\Sidebar; /** * Blog sidebar categories block */ class Featured extends \Magefan\Blog\Block\Post\PostList\AbstractList { use Widget; /** * @var string */ protected $_widgetKey = 'featured_posts'; /** * Prepare posts collection * * @return void */ protected function _preparePostCollection() { parent::_preparePostCollection(); $this->_postCollection->addPostsFilter( $this->getPostIdsConfigValue() ); $ids = []; foreach (explode(',', $this->getPostIdsConfigValue()) as $id) { $id = (int)trim($id); if ($id) { $ids[] = $id; } } if ($ids) { $ids = implode(',', $ids); $this->_postCollection->getSelect()->order( new \Zend_Db_Expr('FIELD(`main_table`.`post_id`,' . $ids .')') ); } } /** * Retrieve post ids string * @return string */ protected function getPostIdsConfigValue() { return (string)$this->_scopeConfig->getValue( 'mfblog/sidebar/'.$this->_widgetKey.'/posts_ids', \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); } /** * Retrieve true if display the post image is enabled in the config * @return bool */ public function getDisplayImage() { return (bool)$this->_scopeConfig->getValue( 'mfblog/sidebar/'.$this->_widgetKey.'/display_image', \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); } /** * Get relevant path to template * * @return string */ public function getTemplate() { $templateName = (string)$this->_scopeConfig->getValue( 'mfblog/sidebar/'.$this->_widgetKey.'/template', \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); if ($template = $this->templatePool->getTemplate('blog_post_sidebar_posts', $templateName)) { $this->_template = $template; } return parent::getTemplate(); } }