![]() 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/mageworx/module-seobase/Model/Source/CustomCanonical/ |
<?php /** * Copyright © 2018 MageWorx. All rights reserved. * See LICENSE.txt for license details. */ namespace MageWorx\SeoBase\Model\Source\CustomCanonical; use Magento\Cms\Model\ResourceModel\Page\CollectionFactory as CmsPageCollectionFactory; class CmsPage extends \MageWorx\SeoAll\Model\Source { /** * @var null|array */ private $options = null; /** * @var CmsPageCollectionFactory */ private $cmsPageCollectionFactory; /** * CmsPage constructor. * * @param CmsPageCollectionFactory $cmsPageCollectionFactory */ public function __construct( CmsPageCollectionFactory $cmsPageCollectionFactory ) { $this->cmsPageCollectionFactory = $cmsPageCollectionFactory; } /** * Return array of options as value-label pairs * * @return array Format: array(array('value' => '<value>', 'label' => '<label>'), ...) */ public function toOptionArray() { if ($this->options === null) { $cmsPageCollection = $this->cmsPageCollectionFactory->create(); $this->options = []; foreach ($cmsPageCollection as $cmsPage) { $pageId = $cmsPage->getData('page_id'); $this->options[] = [ 'value' => $pageId, 'label' => $cmsPage->getData('title') . ' (ID#' . $pageId . ')' ]; } } return $this->options; } }