php - magento:显示禁用的产品

标签 php magento

我使用了这段代码:-

$category_id = 5;

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

这是行不通的。它显示空结果。

请告诉我如何解决这个问题。

提前致谢。

最佳答案

这是我的解决方案:

  • 首先获取产品合集
  • 为禁用的产品添加过滤器
  • 加入类别表
  • 过滤特定类别 ID 的类别表

如果你想在 magento 之外运行脚本,这是一个工作示例:

require_once('app/Mage.php');
umask(0);
Mage::app();

// set category id
$categoryIds = [4]; // add child category id's if you want to support child categories also

$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addAttributeToSelect('*');
$productCollection->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
$productCollection->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left')
    ->addAttributeToFilter('category_id', array('in' => $categoryIds))
    ->addAttributeToSelect('*');
$filteredProducts = $productCollection->getItems();

foreach ($filteredProducts as $product) {
    echo $product->getId() . PHP_EOL;
}

magento 内部:

// set category id
$categoryIds = [4]; // add child category id's if you want to support child categories also

$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addAttributeToSelect('*');
$productCollection->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
$productCollection->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left')
    ->addAttributeToFilter('category_id', array('in' => $categoryIds))
    ->addAttributeToSelect('*');
$filteredProducts = $productCollection->getItems();

如果你想支持多个类别,只需将 id 添加到数组 $categoryIds

如果您有任何问题,请随时添加评论。如果你让它工作,请让我知道并添加你的 magento 版本。谢谢

关于php - magento:显示禁用的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453156/

相关文章:

php - 周数和周日

mysql - Magento 数据库同步

magento - 在 Magento 中设置类别页面的默认模板

magento - 使用 Nginx 和 PHP-FPM 在 Cent OS 上安装 Magento 时出错

php - 使用图像插件的 Magento Mass 导入器 (MAGMI)

php - 为什么在 PHP 中使用 bccomp 比较负零不等于正零?

php - Nginx 和 PHP-FPM 502 网关错误

php - 按年份和月份获取我的博客新闻,显示标题和创作数据

php - Symfony3 外键关系实体不工作

magento - 覆盖\app\code\core\Mage\Core\Block\Messages.php