![]() 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/CsBlock/Model/Config/Source/ |
<?php /** * Copyright (c) 2019 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * soon_csblock_m2 * cframery <[email protected]> <[email protected]> */ namespace Soon\CsBlock\Model\Config\Source; use Aheadworks\Csblock\Model\ResourceModel\Csblock\CollectionFactory as CsBlockCollectionFactory; use Magento\Eav\Model\Entity\Attribute\Source\AbstractSource; use Soon\CsBlock\Plugin\Aheadworks\Csblock\Model\Source\PageType\PageTypePlugin; use Aheadworks\Csblock\Model\Csblock as AheadworksCsBlock; class CsBlock extends AbstractSource { /** * @var CsBlockCollectionFactory $csBlockCollection */ protected $csBlockCollection; /** * CsBlock constructor. * @param CsBlockCollectionFactory $csBlockCollection */ public function __construct(CsblockCollectionFactory $csBlockCollection) { $this->csBlockCollection = $csBlockCollection; } /** * Return array of options as value-label pairs * * @return array Format: array(array('value' => '<value>', 'label' => '<label>'), ...) */ public function toOptionArray() { $types = [ [ 'value' => '', 'label' => '' ] ]; foreach ($this->getOptions() as $key => $value) { $types[] = [ 'value' => $key, 'label' => $value ]; } return $types; } /** * Get options * * @return array */ public function getOptions() { $options = []; $csBlockCollection = $this->csBlockCollection->create(); $csBlockCollection->addFilter('page_type', PageTypePlugin::CUSTOM_PAGE); /** @var AheadworksCsBlock $csBlock */ foreach ($csBlockCollection as $csBlock) { $options[$csBlock->getId()] = $csBlock->getName(); } return $options; } /** * Retrieve All options * * @return array */ public function getAllOptions() { return $this->toOptionArray(); } }