| Current Path : /home/rtorresani/www/vendor/magento/module-catalog/Model/Product/Attribute/Source/ |
| Current File : //home/rtorresani/www/vendor/magento/module-catalog/Model/Product/Attribute/Source/Layout.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Model\Product\Attribute\Source;
/**
* Catalog product landing page attribute source
*
* @author Magento Core Team <core@magentocommerce.com>
*/
class Layout extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource
{
/**
* @var \Magento\Framework\View\Model\PageLayout\Config\BuilderInterface
*/
protected $pageLayoutBuilder;
/**
* @inheritdoc
* @deprecated 103.0.1 since the cache is now handled by \Magento\Theme\Model\PageLayout\Config\Builder::$configFiles
*/
protected $_options = null;
/**
* @param \Magento\Framework\View\Model\PageLayout\Config\BuilderInterface $pageLayoutBuilder
*/
public function __construct(\Magento\Framework\View\Model\PageLayout\Config\BuilderInterface $pageLayoutBuilder)
{
$this->pageLayoutBuilder = $pageLayoutBuilder;
}
/**
* @inheritdoc
*/
public function getAllOptions()
{
$options = $this->pageLayoutBuilder->getPageLayoutsConfig()->toOptionArray();
array_unshift($options, ['value' => '', 'label' => __('No layout updates')]);
$this->_options = $options;
return $options;
}
}