To Fetch the System Store Configuration Values by Scope level, Store or Website, You need to use ScopeConfigInterface with getValue() method.
We can get the Core config data table value programmatically using the given way,
public function __construct( \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Store\Model\StoreManagerInterface $storeManager ) { $this->scopeConfig = $scopeConfig; $this->storeManager = $storeManager; }
Now call in a function,
public function getConfigValue() { return $this->scopeConfig->getValue("sectionId/groupId/fieldId", \Magento\Store\Model\ScopeInterface::SCOPE_STORE,$this->storeManager->getStore()->getStoreId(); }
First Argument sectionId/groupId/fieldId is from your etc/adminhtml/system.xml file.
The second Argument will be the Scope Value.
Third Argument will be scopeCode. It may be int, string or null value.
Demo system.xml to illustrate the example,
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd"> <system> <section id="test" translate="label" type="text" sortOrder="310" showInDefault="1" showInWebsite="1" showInStore="1"> <label>Test Settings</label> <group id="origin" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0"> <label>Main label</label> <field id="postcode" translate="label" type="text" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="0" canRestore="1"> <label>Postal Code</label> </field> </group> </section> </system> </config>
In our case test/origin/postcode is the key value for sectionId/groupId/fieldId.