什么是Magento 2相当于Mage :: getModel('adminhtml / config_data')

时间:2018-05-15 18:30:31

标签: magento

我在magento 1.9版本中的代码如下:

Mage::getModel('adminhtml/config_data')
->setSection($section)
->setWebsite(null)
->setStore(null)
->setGroups($groups)
->save();

magento 2中的等效代码是什么?请有人指导。

1 个答案:

答案 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\WriterInterfacecore_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
);