我在magento 1.9版本中的代码如下:
Mage::getModel('adminhtml/config_data')
->setSection($section)
->setWebsite(null)
->setStore(null)
->setGroups($groups)
->save();
magento 2中的等效代码是什么?请有人指导。
答案 0 :(得分:0)
在Magento 2中,有多种方法可以将值存储到config_data
。
第一个选项
您可以使用\Magento\Config\Model\Config\Factory
保存到数据库中。
protected $_configFactory;
public function __construct(
\Magento\Config\Model\Config\Factory $configFactory
) {
$this->_configFactory = $configFactory;
}
$configData = [
'section' => $section,
'website' => null,
'store' => null,
'groups' => $groups
];
$configModel = $this->_configFactory->create(['data' => $configData]);
$configModel->save();
第二个选项
在Magento 2中,您还可以使用Magento\Framework\App\Config\Storage\WriterInterface
在core_config_date
表中存储数据。
$this->configWriter->save(
'general/country/default',
'DE',
\Magento\Store\Model\ScopeInterface::SCOPE_WEBSITES,
0
);
第三个选项
使用\Magento\Config\Model\ResourceModel\Config $resourceConfig
$this->_resourceConfig->saveConfig(
'general/country/default',
'DE',
\Magento\Store\Model\ScopeInterface::SCOPE_WEBSITES,
0
);