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.