![]() 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/cartforge.co/vendor/magento/module-page-builder/Ui/Component/UrlInput/Page/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\PageBuilder\Ui\Component\UrlInput\Page; use Magento\Cms\Model\ResourceModel\Page\CollectionFactory; use Magento\Framework\EntityManager\MetadataPool; use Magento\Cms\Api\Data\PageInterface; /** Returns options for cms pages link tye of Url input ui component */ class Options implements \Magento\Framework\Data\OptionSourceInterface { /** * @var array */ private $options; /** * @var CollectionFactory */ private $collectionFactory; /** * @var MetadataPool */ private $metadataPool; /** * @param CollectionFactory $collectionFactory * @param MetadataPool $metadataPool */ public function __construct( CollectionFactory $collectionFactory, MetadataPool $metadataPool ) { $this->collectionFactory = $collectionFactory; $this->metadataPool = $metadataPool; } /** * @inheritdoc * * @return array */ public function toOptionArray() : array { if (!$this->options) { $cmsPageCollection = $this->collectionFactory->create(); $identifierField = $this->metadataPool->getMetadata(PageInterface::class)->getIdentifierField(); $this->options = []; /** @var PageInterface $item */ foreach ($cmsPageCollection as $item) { $pageId = $item->getData($identifierField); $this->options[$pageId] = [ 'value' => $pageId, 'label' => $item->getTitle(), 'identifier' => sprintf(__('ID: %s')->render(), $pageId) ]; } } return $this->options; } }