Magento:加载特定的产品集合
我只想通过扩展Mage_目录(Catalog)和Block(Block)产品(product)列表来完成一个简单的产品集合。这里有什么不好,我不知道是什么: 社区/街区Magento:加载特定的产品集合,magento,collections,Magento,Collections,我只想通过扩展Mage_目录(Catalog)和Block(Block)产品(product)列表来完成一个简单的产品集合。这里有什么不好,我不知道是什么: 社区/街区 class folder_subfolder_Block_Mage_Catalog_Product_List extends Mage_Catalog_Block_Product_List { public function getLoadedProductCollection($limit) {
class folder_subfolder_Block_Mage_Catalog_Product_List extends Mage_Catalog_Block_Product_List
{
public function getLoadedProductCollection($limit)
{
$collection = parent::_getProductCollection();
$collection
->clear()
->setPageSize($limit)
->addOrder('entity_id')
->joinField(
'qty',
'cataloginventory/stock_item',
'qty',
'product_id=entity_id',
'{{table}}.stock_id=1',
'left'
)
->addAttributeToFilter('qty', array('eq' => 0))
->load();
return $collection;
}
}
还有一个空的类帮助器和etc config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Folder_Rkproductlists>
<version>1.0.0</version>
</Folder_Rkproductlists>
</modules>
<global>
<helpers>
<rkproductlists>
<class>Folder_Subfolder_Helper_Data</class>
</rkproductlists>
</helpers>
<blocks>
<rkproductlists>
<class>Folder_Subfolder_Block_Mage_Catalog_Product_List</class>
</rkproductlists>
</blocks>
</global>
</config>
1.0.0
文件夹\子文件夹\助手\数据
文件夹\子文件夹\块\图像\目录\产品\列表
已尝试通过以下方式加载此集合:
<reference name="content">
<block type="subfolder/mage_catalog_product_list" template="catalog/product/templatename.phtml">
<action method="setCategoryId"><category_id>54</category_id></action>
<action method="setLimit"><value>3</value></action>
</block>
</reference>
54
3.
我的问题的解决方案:
class Folder_Subfolder_Block_Mage_Catalog_Product_List extends Mage_Catalog_Block_Product_List
{
protected function _getProductCollection()
{
$collection = parent::_getProductCollection();
$collection
->clear()
->setPageSize( $this->getLimit() )
->addAttributeToFilter('qty', array('eq' => 0))
->load();
return $collection;
}
}
和config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Redkiwi_Rkproductlists>
<version>1.0.0</version>
</Redkiwi_Rkproductlists>
</modules>
<global>
<helpers>
<rkproductlists>
<class>Redkiwi_Rkproductlists_Helper</class>
</rkproductlists>
</helpers>
<blocks>
<rkproductlists>
<class>Redkiwi_Rkproductlists_Block</class>
</rkproductlists>
</blocks>
</global>
</config>
1.0.0
Redkiwi\u RKProductList\u助手
红宝石
您会遇到什么样的错误?你期望发生什么,实际发生了什么?没有错误。我已经在CMS页面中包含了该引用,甚至没有在模板文件中输入…当您尝试覆盖任何块时,您必须按照magento的方式。在配置中,为该块重写xml。检查可能会解决您的问题。