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.

È stato utile?

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(); ?>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top