ne yazık ki _getProductCollection()
yönteminde Koleksiyonu zaten bir sayfa boyutu ile başlatıldı çünkü çalışmıyor.
Daha esnek bir çözüm adından da anlaşılacağı gibi toplama yüklenmeden önce, gönderilen, catalog_product_collection_load_before
olayı gözlemleyerek o olabilir.
İşte (altında yourmodule
uzantı yazmak varsayarak yourpackage
) bir örnek şöyle:
1. ADIM: config.xml sizin gözlemci tanımlayın
Lütfen config.xml
uzatma dosyasının global
bölümündeki gibi bir şey eklemek:
<events>
<catalog_product_collection_load_before>
<observers>
<yourpackage_yourmodule_catalog_observer>
<type>singleton</type>
<class>yourpackage_yourmodule/catalog_observer</class>
<method>limitPageSize</method>
</yourpackage_yourmodule_catalog_observer>
</observers>
</catalog_product_collection_load_before>
</events>
2. ADIM: Model\Catalog
klasörünün altında Gözlemci sınıfı tanımlayın:
<?php
class Yourpackage_Yourmodule_Model_Catalog_Observer
{
public function limitPageSize($observer)
{
#TODO: Insert the logic you need to differentiate when to apply the following
$event = $observer->getEvent();
$collection = $event->getCollection();
$collection->setPageSize(3);
return $this;
}
}
Hope it helps.
Sincerely,
Alessandro Ronchi