Comment obtenir de la valeur de la table `core_config_data` dans Magento 2


42

Magento 1.x utilise Mage::getStoreConfig('sections/groups/fields')get data on core_config_datatable.

Comment Magento2 obtient-il de la valeur de core_config_datatable?

Réponses:


101

Nous devons appeler la méthode par défaut disponible.

Il suffit d'utiliser \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, dans votre argument constructeur et définir la propriété de classe:$this->scopeConfig = $scopeConfig;

Maintenant, pour obtenir la valeur de configuration, utilisez simplement

$this->scopeConfig->getValue('dev/debug/template_hints', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);

J'ai eu la réponse de ce lien et référez - vous ceci


3
bon un Meenakshi! continuez comme ça
— anshuman

Comment les obtenez-vous depuis un script séparé, pas depuis le système de fichiers magento ou un module? Si vous créez et instanciez une classe dans votre script, de quoi la classe devrait-elle hériter et comment vous assurez-vous qu'elle charge tous les fichiers appropriés?
— ahnbizcad

Quelle est la portée de cette configuration? Le magasin visualisé actuellement par le client?
— Erfan

oui, il va falloir que le client ait pris connaissance de la vue actuelle
— MeenakshiSundaram R

@MeenakshiSundaramR Je demande en dehors de ce poste, comment donner la livraison gratuite pour les produits sélectionnés à l' aide sku.Help moi à magento.stackexchange.com/q/215022/57334
— zus

4

Créez une fonction pour obtenir les valeurs de configuration dans l'aide de votre module personnalisé.

public function getConfig($config_path)
{
    return $this->scopeConfig->getValue(
            $config_path,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
            );
}

et appelez où vous voulez, par exemple dans test.phtml

$moduleStatus = $this->helper('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

En bloc et appelant comme ceci:

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

7
Il est recommandé en M2 de préférer l'approche DI. Ainsi, l'utilisation $this->_objectManager->create(...)devrait être évitée.
— Anna Völkl

Merci @ AnnaVölkl, alors quel est le remplacement de cela s'il vous plaît pouvez-vous poster une réponse similaire ici?
— Manish

Voir la réponse votée ci-dessus.
— Anna Völkl

3

J'ai utilisé la méthode suivante pour récupérer les variables

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.