1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Store\Model;
- use Magento\Framework\Exception\NoSuchEntityException;
- class StoresConfig
- {
- /**
- * @var \Magento\Store\Model\StoreManagerInterface
- */
- protected $_storeManager;
- /**
- * @var \Magento\Framework\App\Config\ScopeConfigInterface
- */
- protected $_config;
- /**
- * @param \Magento\Store\Model\StoreManagerInterface $storeManager
- * @param \Magento\Framework\App\Config\ScopeConfigInterface $config
- */
- public function __construct(
- \Magento\Store\Model\StoreManagerInterface $storeManager,
- \Magento\Framework\App\Config\ScopeConfigInterface $config
- ) {
- $this->_storeManager = $storeManager;
- $this->_config = $config;
- }
- /**
- * Retrieve store Ids for $path with checking
- *
- * return array($storeId => $pathValue)
- *
- * @param string $path
- * @return array
- */
- public function getStoresConfigByPath($path)
- {
- $stores = $this->_storeManager->getStores(true);
- $storeValues = [];
- /** @var $store \Magento\Store\Model\Store */
- foreach ($stores as $store) {
- try {
- $value = $this->_config->getValue($path, ScopeInterface::SCOPE_STORE, $store->getCode());
- $storeValues[$store->getId()] = $value;
- } catch (NoSuchEntityException $e) {
- // Store doesn't really exist, so move on.
- continue;
- }
- }
- return $storeValues;
- }
- }
|