Cómo llegar a la tienda de identificación del código de
-
12-12-2019 - |
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.
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(); ?>