![]() 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/app/code/Soon/Faq/Block/Question/ |
<?php /** * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @author Hervé Guétin <[email protected]> <@herveguetin> * @copyright Copyright (c) 2016 Agence Soon (http://www.agence-soon.fr) */ namespace Soon\Faq\Block\Question; use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template\Context; use Soon\Faq\Model\Question; use Soon\Faq\Model\ResourceModel\Question\Collection; class Frequent extends Template { /** * @var ListQuestion */ private $listBlock; /** * @var Collection */ private $questionCollectionSelect; public function __construct( ListQuestionFactory $listQuestionFactory, Context $context, array $data = [] ) { parent::__construct($context, $data); $this->listBlock = $listQuestionFactory->create(); } /** * @return array */ public function getCategoriesWithQuestions() { $this->updateListBlockSelect(); return $this->listBlock->getCategoriesWithQuestions(); } /** * Add our additional logic for filtering the questions */ private function updateListBlockSelect() { $this->questionCollectionSelect = $this->listBlock->getQuestionCollectionSelect(); $this->setSizeToCollectionSelect(); $this->addFrequentFilter(); $this->listBlock->setQuestionCollectionSelect($this->questionCollectionSelect); } /** * Set the limit to the collection */ private function setSizeToCollectionSelect() { $limit = $this->getData('limit'); if (!is_null($limit)) { $this->questionCollectionSelect->setLimit($limit); } } /** * Select only frequent questions */ private function addFrequentFilter() { $this->questionCollectionSelect->addFrequentFilter(); } /** * @param Question $question * @return string */ public function getAnswerForQuestion(Question $question) { return $this->listBlock->getAnswerForQuestion($question); } }