Für mein kundenspezifisches Modul habe ich Produkt vom Hersteller erhalten. Für Vorlage habe ich kopiert list.phtml
.
In der Vorlagendatei wird eine Paginierung angezeigt, die jedoch alle Produkte anstelle des ausgewählten Limits pro Seite anzeigt. Das Sortieren funktioniert auch nicht.
Wie kann ich es zum Laufen bringen?
Es ist meine Blockdatei:
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;
}
quelle
Sie müssen auch folgende Filter verwenden:
So wird Ihr vollständiger Code:
quelle
Dies ist in Ihrem Fall möglicherweise nicht der Fall, kann jedoch jemand anderem helfen, der dieses Problem hat. Ich hatte dieses Problem beim Testen von benutzerdefinierten Änderungen in
getProductCollection()
.Ich konnte das Problem beheben, indem ich den hinzugefügten Protokollcode entfernte, der die Anzahl der zurückgegebenen Sammlungen notierte. Ich glaube, dass alles, was die Ergebnisse der Sammlungsladung in der
getProductCollection()
Methode abfragt, die Sammlung dazu zwingt, ihre Produkte tatsächlich vorzeitig zu laden, und verhindert, dass nachgelagerte Änderungen an der Sammlungsreihenfolge und Ergebnisbeschränkungen für die Paging-Steuerelemente angewendet werden.quelle
$collection->getSize()
. Es wird eine separateSELECT COUNT(*)
mit aktuellen Erfassungsfiltern durchgeführt.Sie müssen das überschreiben
_prepareLayout()
und die Daten wie folgt einstellen.Lassen Sie mich wissen, wenn Sie Fragen haben.
quelle
Gehen Sie zum Abschnitt Kategorie verwalten und setzen Sie die Ankeroption auf "Ja".
quelle