Oba sklepy mają inną kategorię root. Główny sklep to domyślne dane przykładowe, drugi sklep ma tylko jeden produkt, który został dodany. Pomyślałbym, że przy użyciu filtru sklepu pojawią się tylko produkty z kategorii głównej bieżącego sklepu. Ale pokazuję każdy produkt. Testuję to, umieszczając następujące elementy w szablonie widoku kategorii:Magento Uzyskaj kolekcję produktów Filtruj według identyfikatora sklepu
$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());
};
Jeśli wydrukuję identyfikator sklepu, otrzymam prawidłowy numer. Mam tylko jeden produkt w drugim sklepie, więc dlaczego otrzymuję wszystkie produkty ze wszystkich sklepów? Mogę ustawić każdy produkt w Main Store, aby nie wyświetlał się w Store2, a następnie dodać filtr widoczności, ale to trwało wiecznie.
Również Właśnie zauważyłem, jeśli echo identyfikatora produkty sklepu, uzyskać aktualny identyfikator, a nie sklep to przypisane do:
echo $_testproduct->getStoreId()
Jak rozwiązać ten problem?