Pergunta

Então eu tenho o código da loja e gostaria muito simplesmente do ID da loja.O ideal é não querer simplesmente carregar a loja completamente, pois só preciso do ID.

Uma ideia que tive foi carregar isso por meio de uma coleção, mas queria saber se havia outra maneira por meio de um auxiliar ou recurso.

Foi útil?

Solução

Não testei isso, mas lembro que você pode obter o ID usando o método loadConfig no modelo Mage_Core_Model_Store

Depois disso, você pode obter o ID ligando para getId() no modelo.

O loadConfig método usa a configuração carregada para recuperar dados armazenados

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

O que lhe dá os seguintes valores

  • eu ia
  • código
  • id_do_site

Outras dicas

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

Esta não é a maneira mais simples de fazer?

Não sei se isso é algo peculiar ao 1.9.0.0, mas também não consegui Mage::getConfig()->getNode()->stores->{$code} ou Mage::getModel('core/store')->loadConfig($code) (que na verdade chamadas Mage::getConfig()->getNode()->stores->{$code}) para retornar qualquer coisa.

A primeira estava perto...com uma mudança sutil na forma, isso obtém um resultado, embora seja muito mais informação do que você precisa:

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

O que funcionou para mim, para obter apenas o ID da loja, foi o seguinte:

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

... ainda ineficiente, é claro, carregando todas as informações de configuração apenas para um pequeno número.Mas ei, isso é Magento para você.

O seguinte deve funcionar:

<?php echo Mage::getModel('core/store')->loadConfig($code)->getId(); ?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top