Magento 2 में `core_config_data` तालिका से मान कैसे प्राप्त करें


41

Magento 1.x उपयोग तालिका Mage::getStoreConfig('sections/groups/fields')पर डेटा मिलता है core_config_data

Magento2 को core_config_dataटेबल से मान कैसे मिलता है ?

जवाबों:


100

हमें उपलब्ध डिफ़ॉल्ट विधि को कॉल करने की आवश्यकता है।

बस उपयोग करें \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, अपने निर्माता तर्क में और वर्ग संपत्ति सेट करें:$this->scopeConfig = $scopeConfig;

अब विन्यास मूल्य प्राप्त करने के लिए उपयोग करें

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

मुझे इस लिंक से जवाब मिल गया है और यह संदर्भित करता है


3
अच्छी मीनाक्षी! इसे बनाए रखें
अंशुमान

आप उन्हें एक अलग स्क्रिप्ट से कैसे प्राप्त कर सकते हैं, मैगेंटो फाइलसिस्टम या मॉड्यूल के भीतर से नहीं? यदि आप अपनी स्क्रिप्ट में एक क्लास बनाते हैं और उसे तुरंत टाइप करते हैं, तो क्लास को किस चीज़ से विरासत में मिलना चाहिए, और आप यह कैसे सुनिश्चित कर सकते हैं कि वह सभी उचित फाइलों को लोड करे?
अहानिबेकाड

यह किस दायरे से विन्यास प्राप्त करता है? ग्राहक द्वारा वर्तमान में देखे गए स्टोरव्यू?
इरफान

हाँ, यह ग्राहक के वर्तमान स्टोर
मीनाक्षीसुंदरम आर

@MeenakshiSundaramR मैं इस पोस्ट से अलग पूछ रहा हूँ, कैसे पर sku.Help मुझे का उपयोग कर चयनित उत्पादों के लिए नि: शुल्क शिपिंग देने के लिए magento.stackexchange.com/q/215022/57334
zus

4

अपने कस्टम मॉड्यूल के सहायक में कॉन्फ़िगरेशन मान प्राप्त करने के लिए एक फ़ंक्शन बनाएं।

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

और कहीं भी कॉल करें जो आप उदाहरण के लिए test.phtml में चाहते हैं

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

इस तरह से ब्लॉक और हेल्पर कॉल में:

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

7
यह डी 2 दृष्टिकोण को प्राथमिकता देने के लिए एम 2 में अनुशंसित है। इस प्रकार, उपयोग $this->_objectManager->create(...)से बचा जाना चाहिए।
अन्ना वोक्कल

धन्यवाद @ अन्नाव्लक्कल, तो उस का प्रतिस्थापन क्या है कृपया आप यहाँ एक समान उत्तर दे सकते हैं?
मनीष

ऊपर दिया गया उत्तर देखें।
अन्ना वोक्कल

3

मैंने चर को पुनः प्राप्त करने के लिए निम्नलिखित विधि का उपयोग किया है

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.