Come ottenere l'ID del negozio dal codice
-
12-12-2019 - |
Domanda
Così ho il codice del negozio e mi piacerebbe davvero semplicemente l'ID del negozio.Idealmente non voglio semplicemente caricare completamente il negozio come ho solo bisogno dell'ID.
Un'idea che avevo dovuto caricarla tramite una collezione, ma mi stavo chiedendo se c'era un altro modo tramite un aiutante o una risorsa.
Soluzione
non è stato testato questo ma mi sembra di ricordare che puoi ottenere l'ID usando il metodo loadConfig
nel modello Mage_Core_Model_Store
Dopo che è possibile ottenere l'ID chiamando getId()
sul modello.
Il metodo loadConfig
utilizza la configurazione caricata per recuperare i dati del negozio
$store = Mage::getConfig()->getNode()->stores->{$code};
.
che ti dà i seguenti valori
- .
- ID
- codice
- sito web_id
Altri suggerimenti
Mage::getModel('core/store')->load($storeCode, 'code')->getId()
non è questo il modo più semplice per fare?
Non so se è qualcosa che è particolarmente peculiare a 1,9.0.0 ma non ho potuto ottenere Mage::getConfig()->getNode()->stores->{$code}
o Mage::getModel('core/store')->loadConfig($code)
(che in effetti chiama Mage::getConfig()->getNode()->stores->{$code}
) per restituire qualsiasi cosa.
Il primo era vicino ... con un sottile cambiamento nella forma, questo ottiene un risultato, anche se è di più informazioni di cui hai bisogno:
.
$store = Mage::getConfig()->getNode('stores')->{$code}
Che cosa ha funzionato per me, per ottenere solo l'ID del negozio, è stato questo:
.
$storeId = Mage::getConfig()->getNode('stores')->{$code}->system->store->id;
... ancora inefficiente, ovviamente, caricando tutte le informazioni di configurazione solo per un piccolo numero.Ma hey, è magento per te.
Il seguente dovrebbe funzionare:
<?php echo Mage::getModel('core/store')->loadConfig($code)->getId(); ?>
.