Wcześniej (czyli w Magento 1) stworzyliśmy moduł o nazwie Setup, który zawierał ustawienia dla strony. Skrypty aktualizacji wyglądają mniej więcej tak:
$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');
// ...
Nie mogę wymyślić, jak to zrobić w M2.
Innymi słowy: jak mogę ustawić dane konfiguracyjne w M2?
magento2
module
configuration
Martin Wickman
źródło
źródło
config.xml
pliku?Odpowiedzi:
To wydaje się działać:
źródło
\Magento\Framework\App\Config\ConfigResource\ConfigInterface $resourceConfig
Można użyć następującego interfejsu
\Magento\Framework\App\Config\Storage\WriterInterface
, ma on 2 metody:save($path, $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0)
delete($path, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0)
Jest bardziej wysokopoziomowy w porównaniu do
\Magento\Config\Model\ResourceModel\Config
i powinien być używany z kodu klienta.źródło