मूल रूप से आपको जो करना है extend/overwrite
वह Mage_Catalog_Block_Product_List से है (List.php)
और getProductCollection()
विधि को फिर से लिखें :
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
// Build collection and set it
$collection = "...";
$this->setProductCollection($collection);
}
return $this->_productCollection;
}
जब ऐसा किया गया था तो मैंने Mage_Catalog_Model_Layer
कक्षा और अधिलेखित कर दिया था Mage_Catalog_Model_Category
और एक नया चर पेश किया था:
protected $_customProductCollection;
मैंने getProductCollection()
दोनों वर्गों में ओवरराइट किया है और मैंने इसे विधि की शुरुआत में जोड़ा है:
if(isset($this->_customProductCollection)){
return $this->_customProductCollection;
}
मेरे पास एक विधि भी है जो मुझे "customProductCollection"
इन दोनों वर्गों के अंदर स्थापित करने की अनुमति देती है । एक बार यह सेट हो जाने के बाद, स्तरित नेविगेशन / श्रेणी का शेष डेटा इस संग्रह पर आधारित है।
यहां प्रारंभिक प्रश्न + उत्तर देखें ।
सौभाग्य ;)