mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?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;
|
|
}
|
|
}
|