Pregunta

Así que tengo el código de la tienda y realmente me gustaría, simplemente, la tienda de identificación.Idealmente, yo no quiero simplemente de carga de la tienda completamente como sólo necesito el id.

Una idea que yo tenía era la de carga a través de una colección, pero me preguntaba si había otra forma a través de un auxiliar o un recurso.

¿Fue útil?

Solución

No he probado esto, pero me parece recordar que usted puede obtener el ID mediante el método de loadConfig en el modelo de Mage_Core_Model_Store

Después de que usted puede obtener el IDENTIFICADOR de llamadas getId() en el modelo.

El loadConfig método utiliza la configuración cargada para recuperar datos de la tienda

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

El que le da los siguientes valores

  • id
  • código
  • website_id

Otros consejos

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

¿No es esta la forma más sencilla de hacer?

No sé si esto es algo que es peculiar a 1.9.0.0, pero no pude obtener ni ningún Mage::getConfig()->getNode()->stores->{$code} o Mage::getModel('core/store')->loadConfig($code) (que, de hecho, las llamadas Mage::getConfig()->getNode()->stores->{$code}) para devolver cualquier cosa.

El primero fue cerca ... con un cambio sutil en forma, esto obtiene un resultado, aunque es más información de Waaay de lo que necesita:

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

Lo que funcionó para mí, para obtener solo la ID de la tienda, fue esto:

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

... todavía ineficiente, por supuesto, cargando toda esa información de configuración solo por un pequeño número.Pero hey, eso es magento para ti.

Lo siguiente debería funcionar:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top