![]() 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/magento/module-theme/Model/Layout/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\Model\Layout; /** * Page layout config model */ class Config { /** * Available page layouts * * @var array */ protected $_pageLayouts; /** * @var \Magento\Framework\Config\DataInterface */ protected $_dataStorage; /** * Constructor * * @param \Magento\Framework\Config\DataInterface $dataStorage */ public function __construct(\Magento\Framework\Config\DataInterface $dataStorage) { $this->_dataStorage = $dataStorage; } /** * Initialize page layouts list * * @return \Magento\Theme\Model\Layout\Config */ protected function _initPageLayouts() { if ($this->_pageLayouts === null) { $this->_pageLayouts = []; foreach ($this->_dataStorage->get(null) as $layoutCode => $layoutConfig) { $layoutConfig['label'] = __($layoutConfig['label']); $this->_pageLayouts[$layoutCode] = new \Magento\Framework\DataObject($layoutConfig); } } return $this; } /** * Retrieve available page layouts * * @return \Magento\Framework\DataObject[] */ public function getPageLayouts() { $this->_initPageLayouts(); return $this->_pageLayouts; } /** * Retrieve page layout by code * * @param string $layoutCode * @return \Magento\Framework\DataObject|boolean */ public function getPageLayout($layoutCode) { $this->_initPageLayouts(); if (isset($this->_pageLayouts[$layoutCode])) { return $this->_pageLayouts[$layoutCode]; } return false; } /** * Retrieve page layout handles * * @return array */ public function getPageLayoutHandles() { $handles = []; foreach ($this->getPageLayouts() as $layout) { $handles[$layout->getCode()] = $layout->getCode(); } return $handles; } }