Jak uzyskać wartość z tabeli `core_config_data` w Magento 2


41

Użyj Magento 1.x Mage::getStoreConfig('sections/groups/fields')pobierz dane na core_config_datastole.

Jak Magento2 uzyskać wartość z core_config_datatabeli?

Odpowiedzi:


100

Musimy wywołać dostępną metodę domyślną.

Po prostu użyj w \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfigargumencie konstruktora i ustaw właściwość klasy:$this->scopeConfig = $scopeConfig;

Teraz, aby uzyskać wartość konfiguracji, po prostu użyj

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

Otrzymuję odpowiedź z tego linku i odsyłam to


3
dobry Meenakshi! tak dalej
anshuman

Jak uzyskać je z oddzielnego skryptu, a nie z systemu plików magento lub modułu? Jeśli utworzysz klasę w skrypcie i utworzysz ją, co powinna dziedziczyć klasa i w jaki sposób zapewnisz załadowanie wszystkich odpowiednich plików?
ahnbizcad

Z jakiego zakresu pobiera to konfigurację? Aktualnie oglądany widok sklepu przez klienta?
Erfan

tak, zajmie bieżący sklep widok klienta
MeenakshiSundaram R

@MeenakshiSundaramR Poza tym postem pytam, jak zapewnić bezpłatną wysyłkę wybranych produktów za pomocą sku. Pomóż mi na magento.stackexchange.com/q/215022/57334
2018

4

Utwórz funkcję pobierania wartości konfiguracyjnych w pomocniku niestandardowego modułu.

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

i dzwoń gdziekolwiek chcesz, na przykład w test.phtml

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

W wywołaniu bloku i pomocnika w ten sposób:

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

7
Zaleca się w M2, aby preferować podejście DI. Dlatego $this->_objectManager->create(...)należy unikać używania .
Anna Völkl

Dzięki @ AnnaVölkl, więc jaka jest zamiana tego, czy możesz tutaj opublikować podobną odpowiedź?
Manish

Zobacz pozytywną odpowiedź powyżej.
Anna Völkl

3

Użyłem następującej metody do odzyskania zmiennych

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.