Do mojego modułu niestandardowego dostaję produkt według producenta. Dla szablonu skopiowałem list.phtml
.
W pliku szablonu pojawia się paginacja, ale pokazuje on cały produkt zamiast wybranego limitu na stronę. Sortowanie też nie działa.
Jak mogę to zrobić?
To jest mój plik blokowy:
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
$layer = $this->getLayer();
$brand_id = $this->getRequest()->getParam('id');
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('*');
$collection->addFieldToFilter(array(
array('attribute' => 'manufacturer', 'eq' => $brand_id)
));
}
return $collection;
}
magento-1.8
frontend
sorting
pagination
Piyush
źródło
źródło
Musisz także użyć następujących filtrów:
Twój pełny kod staje się:
źródło
Może nie być tak w twoim przypadku, ale może pomóc komuś, kto ma ten problem. Miałem ten problem podczas testowania niestandardowych zmian w
getProductCollection()
.Byłem w stanie to naprawić, usuwając dodany kod rejestrujący, który odnotował liczbę zwróconej kolekcji. Wierzę, że wszystko, co przesłuchuje ładowanie kolekcji, powoduje, że
getProductCollection()
metoda zmusi kolekcję do faktycznego przedwczesnego załadowania swoich produktów i zapobiegnie dalszym modyfikacjom kolejności kolekcji i ograniczeniu wyników dla kontroli stronicowania.źródło
$collection->getSize()
. Wykona osobneSELECT COUNT(*)
z bieżącymi filtrami zbierania.Musisz przesłonić
_prepareLayout()
i ustawić dane jak poniżej.daj mi znać, jeśli masz jakieś zapytanie.
źródło
Przejdź do sekcji Zarządzaj kategorią i ustaw opcję Kotwica na „Tak”.
źródło