So erhalten Sie einen Wert aus der Tabelle "core_config_data" in Magento 2

41

Magento 1.x verwenden, Mage::getStoreConfig('sections/groups/fields')um Daten auf den core_config_dataTisch zu bekommen.

Wie Magento2 Wert aus der core_config_dataTabelle bekommen?

Rechnung
quelle

Antworten:

100

Wir müssen die verfügbare Standardmethode aufrufen.

Verwenden Sie \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfigin Ihrem Konstruktorargument einfach , und legen Sie die Klasseneigenschaft fest:$this->scopeConfig = $scopeConfig;

Verwenden Sie zum Abrufen des Konfigurationswerts einfach

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

Ich habe die Antwort von diesem Link erhalten und verweise darauf

MeenakshiSundaram R
quelle
3
guter Meenakshi!
Weiter
Wie erhält man sie aus einem separaten Skript, nicht aus dem Magento-Dateisystem oder einem Modul? Wenn Sie eine Klasse in Ihrem Skript erstellen und instanziieren, von was soll die Klasse erben und wie stellen Sie sicher, dass alle richtigen Dateien geladen werden?
Ahnbizcad
Aus welchem ​​Bereich stammt die Konfiguration? Die aktuell angesehene Storeview des Kunden?
Erfan
Ja, es dauert aktuelle Storeview des Kunden
MeenakshiSundaram R
@MeenakshiSundaramR ich abgesehen von diesem Posten bin zu fragen, wie freies Verschiffen für ausgewählte Produkte mit sku.Help mir geben magento.stackexchange.com/q/215022/57334
zus
4

Erstellen Sie eine Funktion zum Abrufen von Konfigurationswerten im Hilfsprogramm Ihres benutzerdefinierten Moduls.

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

und rufen Sie zum Beispiel in test.phtml an einer beliebigen Stelle auf

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

In Block und Helfer wie folgt aufrufen:

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');
Manish
quelle
7
Es wird empfohlen, in M2 den DI-Ansatz zu bevorzugen. Daher $this->_objectManager->create(...)sollte die Verwendung vermieden werden.
Anna Völkl
Danke @ AnnaVölkl, was ist dann der Ersatz dafür? Kannst du hier eine ähnliche Antwort posten?
Manish
Siehe die oben angegebene Antwort.
Anna Völkl
3

Ich habe folgende Methode verwendet, um die Variablen abzurufen

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
mjdevloper
quelle