Magento 2`deki `core_config_data` tablosundan nasıl değer alınır


41

Magento 1.x tablosunda Mage::getStoreConfig('sections/groups/fields')veri almak kullanın core_config_data.

Magento2 core_config_datatablodan nasıl değer alırım ?

Yanıtlar:


100

Mevcut varsayılan yöntemi çağırmamız gerekir.

Just Use \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, Yapıcı değişkeninizde ve class özelliğini ayarlayın:$this->scopeConfig = $scopeConfig;

Şimdi sadece yapılandırma değerini almak için kullanın

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

Bu bağlantıdan cevabı aldım ve bu konuyu bakın


3
iyi bir Meenakshi! devam et
anshuman

Onları magento dosya sistemi ya da modülünden değil ayrı bir komut dosyasından nasıl elde edersiniz? Eğer betiğinizde bir sınıf hazırlar ve onu başlatırsanız, sınıf neyi devralmalı ve tüm uygun dosyaları yüklediğinden nasıl emin olabilirsiniz?
ahnbizcad

Bu, yapılandırmayı hangi kapsamdan alıyor? Şu anda müşteri tarafından görüntülenen storeview?
Erfan

evet, müşterinin güncel yayınını alacağım
MeenakshiSundaram R

Ben bu yazı dışında soruyorum @MeenakshiSundaramR, nasıl sku.Help beni kullanılarak seçilen ürünler için ücretsiz kargo vermek magento.stackexchange.com/q/215022/57334
Zus

4

Özel modülünüzün yardımcısında yapılandırma değerleri almak için bir işlev oluşturun.

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

ve örneğin, test.phtml dosyasında istediğiniz yeri arayın

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

Blok ve yardımcı çağrı şöyle:

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

7
DI onayını tercih etmek için M2 cinsinden önerilir. Bu nedenle, kullanmaktan $this->_objectManager->create(...)kaçınılmalıdır.
Anna Völkl

Teşekkürler @ AnnaVölkl, o zaman bunun yerine lütfen benzer bir cevap gönderebilir misiniz?
Manish

Yukarıda verilen cevaplara bakınız.
Anna Völkl

3

Değişkenleri geri almak için aşağıdaki yöntemi kullandım

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.