所以我有商店代码,我真的想要简单的商店 ID。理想情况下,我不想简单地完全加载商店,因为我只需要 id。

我的一个想法是通过集合加载它,但我想知道是否有另一种通过助手或资源的方法。

有帮助吗?

解决方案

还没有测试过,但我似乎记得你可以使用以下方法获取 ID loadConfig 在模型中 Mage_Core_Model_Store

之后您可以通过拨打电话获取ID getId() 在模型上。

loadConfig 方法使用加载的配置来检索存储数据

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

这给你以下值

  • ID
  • 代码
  • 网站ID

其他提示

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

不是最简单的方法吗?

我不知道这是否是 1.9.0.0 特有的东西,但我也无法得到 Mage::getConfig()->getNode()->stores->{$code} 或者 Mage::getModel('core/store')->loadConfig($code) (这实际上 来电 Mage::getConfig()->getNode()->stores->{$code})返回任何东西。

第一个很接近...通过形式上的细微变化,这会得到一个结果,尽管它比您需要的信息多得多:

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

对我来说,只获取商店 ID 有效的是:

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

...当然,仍然效率低下,只为一小部分加载所有配置信息。但是,嘿,这就是适合您的 Magento。

以下应该有效:

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

许可以下: CC-BY-SA归因
scroll top