Как получить значение из таблицы "основные данные конфигурации" в Magento 2


Magento 1.x используйте Mage::getStoreConfig('sections/groups/fields') для получения данных в таблице core_config_data.

Как Magento2 получить значение из таблицы core_config_data?

Author: MeenakshiSundaram R, 2015-08-12

6 answers

Нам нужно вызвать доступный метод по умолчанию.

Просто используйте \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig в аргументе конструктора и задайте свойство класса: $this->scopeConfig = $scopeConfig;

Теперь, чтобы получить значение конфигурации, просто используйте

$this->scopeConfig->getValue('dev/debug/template_hints', 
    \Magento\Store\Model\ScopeInterface::SCOPE_STORE);

Я получил ответ от по этой ссылке и ссылаюсь на это

 128
Author: MeenakshiSundaram R, 2020-11-03 03:42:37

Создайте функцию для получения значений конфигурации в помощнике вашего пользовательского модуля.

public function getConfig($config_path)
{
    return $this->scopeConfig->getValue(
            $config_path,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
            );
}

И звоните куда угодно, например, в test.phtml

$moduleStatus = $this->helper('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

В блоке и вспомогательном вызове следующим образом:

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');
 4
Author: Manish, 2016-04-01 05:00:09

Я использовал следующий метод для извлечения переменных,

if (empty($this->_data['welcome'])) {
    $this->_data['welcome'] = $this->_scopeConfig->getValue(
        'design/header/welcome',
        \Magento\Store\Model\ScopeInterface::SCOPE_STORE
    );
}

return $this->_data['welcome'];
 3
Author: mjdevloper, 2019-12-13 11:37:54

Скорее всего, в ваш класс уже введен Magento\Framework\App\Helper\Context. Вы можете получить ScopeConfig оттуда:

$this->context->getScopeConfig()->getValue(
    'sections/groups/fields',
    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
 0
Author: user487772, 2020-04-06 19:07:25

Сначала вам нужно включить класс Magento\Store\Model\ScopeInterface в свой конструктор:

protected $_scopeConfig;

public function __construct(
     ...
     \Magento\Store\Model\ScopeInterface $scopeInterface,
     ...
)
{
    ...
    $this->_scopeConfig = $scopeInterface;
    ...
}

Затем в методе вашего класса вы можете вызвать следующее:

$this->scopeConfig->getValue('path/of/config', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
 0
Author: Baharuni Asif, 2020-05-30 10:25:25

В файлах шаблонов (phtml) я использую следующий способ:

$config = $block->getLayout()->createBlock(\Magento\Config\Block\System\Config\Form::class);
$configValue = $config->getConfigValue('web/secure/base_url');
 0
Author: Milan Chandro, 2020-08-28 11:29:41