Mağaza kimliği koddan nasıl alınır


23

Bu yüzden mağaza kodum var ve gerçekten mağaza kimliğini istiyorum. İdeal olarak, yalnızca kimliği istediğim için mağazayı tamamen yüklemek istemiyorum.

Düşündüğüm bir fikir, bunu bir koleksiyon aracılığıyla yüklemektı, ancak yardımcı ya da kaynak aracılığıyla başka bir yol olup olmadığını merak ediyordum.


3
Benim için bu mükemmel çalışıyor:Mage::app()->getStore($storeCode)->getId();
Hatef

Yanıtlar:


10

Bunu test etmedim loadConfig, ancak modeldeki yöntemi kullanarak kimliği alabileceğinizi hatırlıyor gibiyimMage_Core_Model_Store

Bundan sonra getId()modeli arayarak kimliği alabilirsiniz .

loadConfigYöntem deposu veri almak için yüklenen konfigürasyonu kullanmaktadır

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

Size aşağıdaki değerleri verir

  • İD
  • kod
  • website_id

3
Garip - benim için (Magento 1.9.0.0) bu NULL döndürür. Benim için çalıştıMage::getConfig()->getNode('stores')->{$code}
Doug McLean

Ya da daha iyisi: Mage :: getConfig () -> getNode ('stores') -> {$ code} -> {'sistem'} -> {'mağaza'} -> {'id'};
Anshuman

@dougMcLean, EE 1.14.1.0'da aynı sorunu yaşadı, bu "config" önbelleği etkin olduğunda ortaya çıkıyor - Magento önbelleği sorunu gibi görünüyor. Sander, cevabınızı Mage :: getConfig () -> getNode ('stores') -> {$ code} kullanarak düzenleyebilecek misiniz, böylece her iki etkin / devre dışı önbellek durumu için de çözüm kullanılabilir mi?
Kate Suykovskaya,

Çoklu mağazam var, seçilen mağaza ürünlerini mağaza kimliğini kullanarak nasıl görüntüleyebilirim, kodum -> justpaste.it/6fi1f
Gem

21

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

Bu yapmanın en basit yolu değil mi?


2
En basit olabilir, ancak yalnızca kimliği istediğimde sitenin tam mağazayı yüklemesi için en iyisi olmayabilir.
David Manners

Tamam, mantıklı. O zaman bir kaynak modelinde SQL'i yönlendirin :)
Zifius

5

Bunun 1.9.0.0'a özgü bir şey olup olmadığını bilmiyorum ama ikisini de alamadım ya Mage::getConfig()->getNode()->stores->{$code}da Mage::getModel('core/store')->loadConfig($code)(ki bu aslında bir şeyi geri çağırıyor Mage::getConfig()->getNode()->stores->{$code} ) alamadım .

Birincisi yakındı ... formda ince bir değişiklikle, bu bir sonuç alır, ancak ihtiyaç duyduğunuzdan daha fazla bilgi almasına rağmen:

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

Mağaza kimliğini almak için benim için çalışan şey şuydu:

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

... hala verimsiz, tabii ki, tüm bu yapılandırma bilgileri sadece bir küçük numara için yükleniyor. Ama hey, bu senin için Magento.


4

Aşağıdakilerin çalışması gerekir:

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

Cevabınız için teşekkürler, bu bir önceki ile aynı
David Manners 11

Evet, cevabımı gönderdikten sonra farkettim :)
Mayers
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.