Question

J'ai donc le code du magasin et j'aimerais vraiment simplement l'identifiant du magasin.Idéalement, je ne veux pas simplement charger complètement le magasin car je n'ai besoin que de l'identifiant.

Une idée que j'avais était de charger ceci via une collection mais je me demandais s'il y avait un autre moyen via une aide ou une ressource.

Était-ce utile?

La solution

Je n'ai pas testé cela, mais il me semble que vous pouvez obtenir l'identifiant en utilisant la méthode loadConfig dans le modèle Mage_Core_Model_Store

Après cela, vous pouvez obtenir la pièce d'identité en appelant getId() sur le modèle.

Le loadConfig la méthode utilise la configuration chargée pour récupérer les données du magasin

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

Ce qui vous donne les valeurs suivantes

  • identifiant
  • code
  • site_id

Autres conseils

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

N'est-ce pas la façon la plus simple de procéder ?

Je ne sais pas si c'est quelque chose de particulier à la version 1.9.0.0 mais je n'ai pas pu obtenir non plus Mage::getConfig()->getNode()->stores->{$code} ou Mage::getModel('core/store')->loadConfig($code) (ce qui en fait appels Mage::getConfig()->getNode()->stores->{$code}) pour retourner quoi que ce soit.

Le premier était proche...avec un changement subtil de forme, cela donne un résultat, même si c'est bien plus d'informations que ce dont vous avez besoin :

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

Ce qui a fonctionné pour moi, pour obtenir uniquement l'identifiant du magasin, était ceci :

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

...toujours inefficace, bien sûr, charger toutes ces informations de configuration juste pour un petit numéro.Mais bon, c'est Magento pour vous.

Les éléments suivants doivent fonctionner:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top