magento - Magento:按状态过滤产品

标签 magento collections filter status

我在这里遇到一些严重的Magento问题。如预期的那样:

$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', array('eq' => 1));

将为我的$ category_id返回所有启用的产品。但是这:
$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', array('eq' => 0));

不退回禁用的产品。我似乎找不到退回禁用产品的方法,也不知道为什么。

我已经试过了:
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);

这本来应该有效,但显然已被弃用。

有谁知道如何将一个类别中的所有产品都启用和禁用?

最佳答案

不用担心,您只是被一个非常不寻常的常量定义所困住了^^。你试一试:

$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter(
    'status',
    array('eq' => Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
);

出于任何原因,Varien决定使用STATUS_DISABLED的值定义此2常量,而不是使用更直观(且常用的)0的值。

关于magento - Magento:按状态过滤产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651028/

相关文章:

mysql - 选择查询案例,按条件/标准分配两个变量

c# - 来自过滤器代码的音频点击/弹出

magento - Google Analytics 电子商务仅跟踪 Paypal

javascript - 是否有用于组合/压缩 javascript 和 css 的 Magento 扩展?

php - Magento 索引器问题

php - 为什么我对 Magento Block 的 getTemplateFile 方法的调用返回 null?

scala - 将Map [K,Option [V]]转换为Map [K,V]的更好方法

Java集合用于层次结构显示?

Java 程序因某些测试用例超时而失败

python - whoosh MultifieldParser 字段搜索或查询解析器连接