कोड से स्टोर आईडी कैसे प्राप्त करें


23

इसलिए मेरे पास स्टोर कोड है और मैं वास्तव में बस स्टोर आईडी पसंद करूंगा। आदर्श रूप से मैं स्टोर को पूरी तरह से लोड नहीं करना चाहता क्योंकि मुझे केवल आईडी की आवश्यकता है।

एक विचार जो मुझे एक संग्रह के माध्यम से लोड करना था, लेकिन मैं सोच रहा था कि एक सहायक या संसाधन के माध्यम से एक और तरीका था।


3
मेरे लिए यह पूरी तरह से काम करता है:Mage::app()->getStore($storeCode)->getId();
Hatef

जवाबों:


10

यह परीक्षण नहीं किया गया है, लेकिन मुझे याद है कि आप loadConfigमॉडल में विधि का उपयोग करके आईडी प्राप्त कर सकते हैंMage_Core_Model_Store

उसके बाद आप getId()मॉडल पर कॉल करके आईडी प्राप्त कर सकते हैं ।

loadConfigविधि दुकान डेटा पुनः प्राप्त करने लोड विन्यास का उपयोग करता

$store = Mage::getConfig()->getNode()->stores->{$code};

जो आपको निम्नलिखित मान देता है

  • आईडी
  • कोड
  • website_id

3
अजीब - मेरे लिए (Magento 1.9.0.0) यह पूर्ण रिटर्न देता है। मेरे लिए क्या काम किया गया थाMage::getConfig()->getNode('stores')->{$code}
डौग मैकलीन

या इससे भी बेहतर: Mage :: getConfig () -> getNode ('store') -> {$ code} -> {'system'} -> {'store'} -> {'id'};
अंशुमान

@dougMcLean को EE 1.14.1.0 पर समान समस्या मिली, यह तब दिखाई देता है जब "config" कैश सक्षम होता है - Magento कैश समस्या जैसा दिखता है। Sander क्या आप Mage :: getConfig () -> getNode ('स्टोर्स') -> {$ कोड} का उपयोग करके अपने उत्तर को संपादित करने के लिए इतने दयालु होंगे, इसलिए समाधान सक्षम / अक्षम कैश मामलों दोनों के लिए काम करता है?
केट सुकोवस्काया

मेरे पास मल्टीस्टोरी है, मैं स्टोर आईडी, मेरे कोड -> justpaste.it/6fi1f
Gem

21

Mage::getModel('core/store')->load($storeCode, 'code')->getId()

क्या यह सबसे आसान तरीका नहीं है?


2
यह सबसे सरल हो सकता है, लेकिन साइट के प्रदर्शन के लिए सबसे अच्छा नहीं हो सकता है कि जब मुझे केवल आईडी की आवश्यकता हो तो पूर्ण स्टोर लोड किया जाए।
डेविड मैनर्स 16

ठीक है, समझ में आता है। फिर SQL को एक संसाधन मॉडल में निर्देशित करें :)
Zifius

5

मुझे नहीं पता कि यह कोई ऐसी चीज़ है जो अजीबोगरीब 1.9.0.0 है, लेकिन मैं Mage::getConfig()->getNode()->stores->{$code}या तो Mage::getModel('core/store')->loadConfig($code)( या जो वास्तव में कॉल करता है Mage::getConfig()->getNode()->stores->{$code} ) कुछ भी वापस पाने के लिए नहीं मिल सकता ।

पहले करीब था ... रूप में एक सूक्ष्म परिवर्तन के साथ, यह एक परिणाम प्राप्त करता है, हालांकि यह आपके लिए आवश्यक से अधिक जानकारी है:

$store = Mage::getConfig()->getNode('stores')->{$code}

मेरे लिए क्या काम किया, सिर्फ स्टोर आईडी पाने के लिए, यह था:

$storeId = Mage::getConfig()->getNode('stores')->{$code}->system->store->id;

... अभी भी अक्षम है, केवल एक छोटी संख्या के लिए सभी कॉन्फ़िगर जानकारी लोड हो रहा है। लेकिन हे, यह तुम्हारे लिए Magento है।


4

निम्नलिखित काम करना चाहिए:

<?php echo Mage::getModel('core/store')->loadConfig($code)->getId(); ?>

उत्तर के लिए धन्यवाद, हालांकि यह पहले वाले के समान ही प्रतीत होता है :)
डेविड मैनर्स

हां, मैंने अपनी प्रतिक्रिया पोस्ट करने के बाद इसे नोट किया :)
मेयर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.