Magento - filtrowanie listy produktów bazując na kilku kategoriach

Opublikował:‌ WG Admin
Kategorie: Rozszerzenia

Tworząc skrypt generujący listę produktów dla Google Merchant Center pojawiła się konieczność ograniczenia ilości promowanych produktów.

W przypadku Magento, do tego celu doskonale się nadają kategorie. Każda ma własne id.

Gdzie szukać wartości "id"?
Wejdz w zarządzanie kategoriami - kliknij w którąkolwiek kategorię a przy jej nazwie znajdziesz dopisek (ID: 5) - czyli poszukiwana kategoria ma id=5.

Wracając do tematu - skrypt za zadanie miał odfiltrować wszystkie produkty skupiając się jedynie na kilku kategoriach (głownych i podrzędnych). Wprawdzie fragment skryptu jest dość rozbudowany ale działa jak należy - oto jego postać (i to się liczy). Od razu zaznaczam że jest on kompatybilny w wersjami Magento od 1.4 wzyż:

Kod:  Zaznacz wszystko  |  Linenumbers on/off
  1. $products = Mage::getModel('catalog/product')->getCollection();
  2. $products->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left');
  3. $products->addAttributeToFilter('category_id', array('in' => array(1,2,3)));
  4. $products->addAttributeToSelect('*');

Kod ten odfiltruje nam całą zawartość naszego magazynu i wyświetli produkty z kategorii 1, 2 oraz 3.

Wasze komentarze:

comments powered by Disqus

Komentowanie - zasady

Autorzy komentarzy zamieszczonych w serwisie webground.pl publikują swoje opinie wyłącznie na własną odpowiedzialność.

Właściciel serwisu webground.pl nie ponosi żadnej odpowiedzialności za treści umieszczone przez użytkowników portalu