質問

したがって、店舗コードはありますが、単純に店舗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(); ?>
.

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top