両方の店舗に異なるルートカテゴリがあります。メインストアはデフォルトのサンプルデータです。セカンドストアは追加された製品が1つだけです。私は、ストアフィルタを使用すると、現在の店舗のルートカテゴリ内の商品のみが表示されると考えていたでしょう。しかし、私はすべての製品を表示しています。私は、カテゴリビューテンプレートに次のように配置することで、これをテストしている:Magento店舗IDで商品コレクションを取得
$store_id = Mage::app()->getStore()->getId();
$_testproductCollection = Mage::getResourceModel('reports/product_collection')
->setStoreId($storeId)
->addStoreFilter($store_id)
->addAttributeToSelect('*');
$_testproductCollection->load();
foreach($_testproductCollection as $_testproduct){
echo $this->htmlEscape($_testproduct->getName());
};
私は店のIDを印刷する場合、それは私に正しい番号を与えています。私は2つ目の店で1つの製品しか持っていないので、なぜすべての店舗のすべての製品が返されていますか?メインストア内のすべての製品をStore2に表示しないように設定し、表示フィルタを追加することはできますが、これは永遠にかかるでしょう。この問題を解決するためにどのように
echo $_testproduct->getStoreId()
:
また、私はちょうど気づいた、私は製品ストアのIDをエコーた場合、私は現在のIDを取得し、店はに割り当てられていませんか?