![]() 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/Ui/Component/Design/Config/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\Ui\Component\Design\Config; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\Search\ReportingInterface; use Magento\Framework\Api\Search\SearchCriteriaBuilder; use Magento\Framework\App\RequestInterface; use Magento\Store\Model\StoreManagerInterface; /** * Data Provider for 'design_config_form' and 'design_config_listing' components * * @api * @since 100.1.0 */ class DataProvider extends \Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider { /** * @var StoreManagerInterface * @since 100.1.0 */ protected $storeManager; /** * @param string $name * @param string $primaryFieldName * @param string $requestFieldName * @param ReportingInterface $reporting * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param RequestInterface $request * @param FilterBuilder $filterBuilder * @param StoreManagerInterface $storeManager * @param array $meta * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( $name, $primaryFieldName, $requestFieldName, ReportingInterface $reporting, SearchCriteriaBuilder $searchCriteriaBuilder, RequestInterface $request, FilterBuilder $filterBuilder, StoreManagerInterface $storeManager, array $meta = [], array $data = [] ) { parent::__construct( $name, $primaryFieldName, $requestFieldName, $reporting, $searchCriteriaBuilder, $request, $filterBuilder, $meta, $data ); $this->storeManager = $storeManager; } /** * Get data * * @return array * @since 100.1.0 */ public function getData() { if ($this->storeManager->isSingleStoreMode()) { $websites = $this->storeManager->getWebsites(); $singleStoreWebsite = array_shift($websites); $this->addFilter( $this->filterBuilder->setField('store_website_id') ->setValue($singleStoreWebsite->getId()) ->create() ); $this->addFilter( $this->filterBuilder->setField('store_group_id') ->setConditionType('null') ->create() ); } $data = parent::getData(); foreach ($data['items'] as & $item) { $item += ['default' => __('Global')]; } return $data; } }