コードからストアIDを取得する方法
-
12-12-2019 - |
質問
したがって、店舗コードはありますが、単純に店舗IDが必要です。理想的には、ID のみが必要なので、単にストアを完全にロードすることはしたくありません。
私が持っていたアイデアの 1 つは、コレクションを介してこれをロードすることでしたが、ヘルパーまたはリソースを介して別の方法があるかどうか疑問に思っていました。
解決
これをテストしていませんが、モデルloadConfig
でメソッドMage_Core_Model_Store
を使用してIDを取得できるようです。
その後、モデル上のgetId()
を呼び出してIDを取得できます。
loadConfig
メソッドは、ロードされた構成を使用してストアデータを取得します。
$store = Mage::getConfig()->getNode()->stores->{$code};
.
これはあなたに以下の値を与えます
- id
- コード
- website_id
他のヒント
Mage::getModel('core/store')->load($storeCode, 'code')->getId()
これが一番簡単な方法ではないでしょうか?
これが1.9.0.0に固有のものであるかどうかわかりませんが、Mage::getConfig()->getNode()->stores->{$code}
またはMage::getModel('core/store')->loadConfig($code)
(実際に calls Mage::getConfig()->getNode()->stores->{$code}
)を返すことができませんでした。
最初のものは微妙な変化を伴う形式で、それはあなたが必要とするよりも多くの情報をもたらすものです:
.
$store = Mage::getConfig()->getNode('stores')->{$code}
店舗IDだけを取得するには、私のために何が働いていました、これはこれでした:
.
$storeId = Mage::getConfig()->getNode('stores')->{$code}->system->store->id;
...それでも非効率的な、もちろん、1つの小さな数のためにその構成情報をすべて読み込む。しかし、ちょっと、それはあなたのためのマゼントです。
次は機能するべきです:
<?php echo Mage::getModel('core/store')->loadConfig($code)->getId(); ?>
.