gpt4 book ai didi

Magento - list.phtml 过滤产品集合未给出正确的分页

转载 作者:行者123 更新时间:2023-12-02 18:11:12 26 4
gpt4 key购买 nike

我正在尝试过滤 list.phtml 以满足我的需求,该需求仅根据属性值显示产品。加载产品集合的原始代码是:

$_productCollection=$this->getLoadedProductCollection();
$_helper = $this->helper('catalog/output');

为了进行过滤,我有代码:

$_productCollection=$this->getLoadedProductCollection();

$cat_id = Mage::getModel('catalog/layer')->getCurrentCategory()->getId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToFilter('language', array('eq' => array('English')))
->addAttributeToSelect('*')
->addCategoryFilter(Mage::getModel('catalog/category')->load($cat_id));


$_helper = $this->helper('catalog/output');

这可以工作,但是分页和项目总数(从工具栏.phtml 和 pager.phtml 生成)不正确。例如,原始产品集合的正确分页为 7 页,每页有 10 个产品。

但是,当我使用上面显示的过滤器时,分页显示相同的 7 页,并且每本过滤后的书都显示在一页上(有 18 本英文书,因此 18 本书中有 7 页是重复的)。

请有人帮我解决这个分页问题。

谢谢。

集合的SQL如下:

 SELECT `e`.*, `at_language`.`value` AS `language`, `cat_index`.`position`
AS `cat_index_position` FROM `catalog_product_entity`
AS `e` INNER JOIN `catalog_product_entity_varchar`
AS `at_language` ON (`at_language`.`entity_id` = `e`.`entity_id`)
AND (`at_language`.`attribute_id` = '1002')
AND (`at_language`.`store_id` = 0) INNER JOIN `catalog_category_product_index`
AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id=1
AND cat_index.visibility IN(2, 4) AND cat_index.category_id='38'
AND cat_index.is_parent=1 WHERE (at_language.value = 'English')

最佳答案

在您的 list.phtml 文件中使用它:

$_productCollection->clear()
->addAttributeToFilter('attribute_set_id', array('eq' => 63))
->load();

关于Magento - list.phtml 过滤产品集合未给出正确的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14580427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com