如何从代码中获取商店id
-
12-12-2019 - |
题
所以我有商店代码,我真的想要简单的商店 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(); ?>
.