Magento产品集合只获取特定类别的产品

5

我正在尝试获取仅在特定类别中具有销售价格的产品列表。目前,我正尝试使用产品集合来获取这些数据。我不确定如何限制集合仅针对特定类别。以下是我的一些代码:

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', 1)
    ->addAttributeToFilter('visibility', 4)
    ->addAttributeToFilter('special_price', array('neq' => ""))
    ->addAttributeToFilter('discontinued', array('neq' => 1))
    ->setPageSize(10)
    ->setOrder('price', 'ASC')
    ;

已停用的属性是我们使用的自定义属性,以便产品不显示但也不会出现404错误。

是否有一种方法可以使用产品模型并限制到特定类别?


请注意,special_price 可能在您的查询中不可用。这个问题和答案有些详细解释:https://dev59.com/qmfWa4cB1Zd3GeqPhoPO - Krista K
1个回答

5

明白了。你从类别开始,获取类别的产品集合,然后从那里进行细化。在代码中,它看起来像这样:

$products = Mage::getModel('catalog/category')->load(410)
    ->getProductCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', 1)
    ->addAttributeToFilter('visibility', 4)
    ->addAttributeToFilter('special_price', array('neq' => ""))
    ->addAttributeToFilter('discontinued', array('neq' => 1))
    ->setOrder('price', 'ASC')
    ;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接