Ever had to programmatically set Magento 2 core config data? Not only that but afterward, retrieve that new value?
I had to! And, today, I’ll share the method to set core config data programmatically in Magento 2.
I have also added how I managed the enabled cache.
The following interface can be used to achieve that
/vendor/magento/framework/App/Config/Storage/WriterInterface.php
using the following save method
public function save($path, $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0);
Additionally, to delete a core config data value you can use the delete method
public function delete($path, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0);
Execute the below code for the solution:
Mehod to programmatically set Magento 2 Core Config Data:
<?php namespace Vendor_Name\Extension_Name\Helper; use Magento\Framework\App\Config\Storage\WriterInterface; use Magento\Framework\App\Config\ScopeConfigInterface; class Data { protected $configWriter; public function __construct(WriterInterface $configWriter) { $this->configWriter = $configWriter; } /** * @param $path = 'extension_name/general/data' * @param $value = '1' */ public function SetData($path, $value) { $this->configWriter->save($path, $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0); } }
That’s it.
Thanks.