Ранее (то есть в Magento 1, то есть) мы создали модуль под названием Setup, который содержал настройки для сайта. Сценарии обновления выглядят примерно так:
$installer = $this;
$installer->startSetup();
$installer->setConfigData("fastsimpleimport/general/partial_indexing", 1);
$installer->setConfigData("fastsimpleimport/product/disable_preprocess_images", 1);
$installer->setConfigData('general/country/default', 'GB');
$installer->setConfigData('general/locale/firstday', 1);
$installer->setConfigData('general/locale/timezone', 'Europe/London');
$installer->setConfigData('general/store_information/merchant_country', 'GB');
$installer->setConfigData('design/header/welcome', 'Enter your value');
$installer->setConfigData('design/head/title_suffix', 'Enter your value');
$installer->setConfigData('currency/options/base', 'GBP');
$installer->setConfigData('currency/options/default', 'GBP');
// ...
Я не могу понять, как сделать выше в M2.
Другими словами: как мне настроить данные конфигурации в M2?
magento2
module
configuration
Мартин Викман
источник
источник
config.xml
файл?Ответы:
Это похоже на работу:
источник
\Magento\Framework\App\Config\ConfigResource\ConfigInterface $resourceConfig
Можно использовать следующий интерфейс
\Magento\Framework\App\Config\Storage\WriterInterface
, он имеет 2 метода:save($path, $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0)
delete($path, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0)
Это более высокий уровень по сравнению с
\Magento\Config\Model\ResourceModel\Config
и должен использоваться из клиентского кода.источник