![]() 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-theme/Model/Theme/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\Model\Theme; /** * Theme resolver model */ class Resolver implements \Magento\Framework\View\Design\Theme\ResolverInterface { /** * @var \Magento\Framework\View\DesignInterface */ protected $design; /** * @var \Magento\Theme\Model\ResourceModel\Theme\CollectionFactory */ protected $themeFactory; /** * @var \Magento\Framework\App\State */ protected $appState; /** * @param \Magento\Framework\App\State $appState * @param \Magento\Framework\View\DesignInterface $design * @param \Magento\Theme\Model\ResourceModel\Theme\CollectionFactory $themeFactory */ public function __construct( \Magento\Framework\App\State $appState, \Magento\Framework\View\DesignInterface $design, \Magento\Theme\Model\ResourceModel\Theme\CollectionFactory $themeFactory ) { $this->design = $design; $this->themeFactory = $themeFactory; $this->appState = $appState; } /** * Retrieve instance of a theme currently used in an area * * @return \Magento\Framework\View\Design\ThemeInterface */ public function get() { $area = $this->appState->getAreaCode(); if ($this->design->getDesignTheme()->getArea() == $area || $this->design->getArea() == $area) { return $this->design->getDesignTheme(); } /** @var \Magento\Theme\Model\ResourceModel\Theme\Collection $themeCollection */ $themeCollection = $this->themeFactory->create(); $themeIdentifier = $this->design->getConfigurationDesignTheme($area); if (is_numeric($themeIdentifier)) { $result = $themeCollection->getItemById($themeIdentifier); } else { $themeFullPath = $area . \Magento\Framework\View\Design\ThemeInterface::PATH_SEPARATOR . $themeIdentifier; $result = $themeCollection->getThemeByFullPath($themeFullPath); } return $result; } }