वेबसाइट स्कोप के लिए कॉन्फ़िगरेशन मान प्राप्त करें


21

मैं किसी विशिष्ट वेबसाइट के लिए कॉन्फ़िगरेशन मान कैसे प्राप्त कर सकता हूं?

वहाँ है, Mage::getStoreConfig()लेकिन नहीं Mage::getWebsiteConfig()

संपादित करें :

मैं वेबसाइट स्तर पर कॉन्फ़िगरेशन डेटा निर्यात कर रहा हूं - इसलिए किसी तरह मैं वेबसाइट स्कोप सेटिंग चाहता हूं ...

जवाबों:


16

आमतौर पर, आप ऐसा करने वाले नहीं हैं। Mage::getStoreConfig()स्वचालित रूप से स्टोर मान, वेबसाइट मान, वैश्विक मान या फ़ील्ड के कॉन्फ़िगरेशन के आधार पर डिफ़ॉल्ट मान लौटाएगा।

हालांकि, अगर आपको वास्तव में स्टोर मूल्य की उपेक्षा करने और वेबसाइट मूल्य प्राप्त करने की आवश्यकता है, तो आप इसे इस तरह से कर सकते हैं:

Mage::app()->getWebsite()->getConfig('.../.../...')

1
WebsiteId को जोड़ना न भूलें। यानी <br/>Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')
एडुआर्डो

8

यह एक दुर्लभ मामला है, क्योंकि सेटिंग्स को स्टोर स्तर पर विरासत में मिला है और आमतौर पर getStoreConfig()वेबसाइट सेटिंग्स को ध्यान में रखा जाता है।

आप उपयोग कर सकते हैं Mage_Core_Model_Website::getConfig()- लेकिन इस बात से अवगत रहें कि Mage_Core_Model_Store::getConfig()जहां प्रसंस्करण भी किया जा रहा है , वहां थोड़ा अंतर है (उदाहरण के प्रतिस्थापन के लिए {{...}}) - इस प्रकार का प्रतिस्थापन वेबसाइट के स्तर पर नहीं किया जाता है।

यदि मूल्य केवल वेबसाइट के स्तर पर बदला जा सकता है, तो दूसरा विकल्प वेबसाइट के कुछ यादृच्छिक स्टोर को प्राप्त करना और फिर उपयोग करना होगा getStoreConfig()


6

यह ज्ञात होने पर विशिष्ट वेबसाइट कोड का उपयोग करके प्राप्त किया जा सकता है।

$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);

इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए। आप वेबसाइट से Mage::app()->getWebsites()और कोड वेबसाइट से प्राप्त कर सकते हैं :$website->getCode()
माइकल

अच्छी सामग्री @ चिह्न। मैं सहमत हूं, इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए। मुझे पता है कि वेबसाइट द्वारा कॉन्फिगर वैल्यू प्राप्त करना आम नहीं है, लेकिन कुछ मामलों में यह है .. उदाहरण के लिए, क्रोन जॉब टास्क में वेबसाइट द्वारा उत्पादों का निर्यात चलाते समय मुझे ऐसा करने की आवश्यकता थी।
एडुआर्डो

2

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

मान लें कि आपके पास वेबसाइट ए है और स्टोर ए 1 और ए 2 उस वेबसाइट के लिए स्टोर हैं। मान लें कि किसी दी गई संपत्ति के लिए A का मान 5 है

फिर Mage::getStoreConfig()A1 और A2 दोनों के लिए उस संपत्ति के लिए 5 वापस करेंगे। यदि आप संपत्ति को A1 के लिए 3 पर सेट करते हैं, तो Mage::getStoreConfig()उस संपत्ति के लिए A1 के लिए 3 और A2 के लिए 5 वापस करेंगे।


आप पूरी तरह से सही हैं - लेकिन: मैं वेबसाइट स्तर पर कॉन्फ़िगरेशन डेटा निर्यात कर रहा हूं - इसलिए किसी तरह मैं वेबसाइट स्कोप सेटिंग चाहता हूं ... मुझे पता है कि यह काफी दुर्लभ मामला है।
एलेक्स

@Alex आप शायद कि उल्लेख करना चाहिए अपने प्रश्न में भी;)
mpaepper
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.