3

Mage::app()->getStore()->getWebsiteId(); 一部のブロックでは機能しません (インスタンス化されたモデルから呼び出されます)。

私の記憶が正しければ、カート ブロックでは機能しますが、カート アイテム ブロックでは機能しません。

面白い問題だと思いました。また、Mage::getModel('customer/session')->getCustomer()->getGroupId(); にも気付きました。

また、同じ状況では機能しません。

これは、Mage_Checkout_Block_Cart というブロックのテンプレート内から機能します。

しかし、Mage_Checkout_Block_Cart_Item_Renderer を拡張する OrganicInternet_SimpleConfigurableProducts_Checkout_Block_Cart_Item_Renderer というブロック内からは機能しません。

何かご意見は?

4

1 に答える 1

1

これはどのバージョンのマジェントですか?

Web サイト ID を取得するために呼び出している特定のメソッドを見たことがありません。私はこれまでに使用しただけですMage::app()->getStore()->getWebsite()->getId();

動作する場合getWebsiteId、実際にはメソッドではなく、ストア データ配列へのデータ セットであると想像できます。そのようなデータは可変である可能性があり、それがどこでいつ設定されるかを頭の中で説明することはできません.

顧客セッションで顧客のグループIDを取得する限り、顧客セッションを呼び出すと、getModel()magentoが実際にセッションデータを保存する「シングルトン」セッションではなく、新しいセッションが取得されます。ですべてのセッション オブジェクトを呼び出しますMage::getSingleton('customer/session')

顧客がログインしている場合にのみ、顧客がセッションに参加します。

于 2012-05-05T15:42:34.280 に答える