如何从类别magento 1.5中删除产品

时间:2013-07-22 22:34:27

标签: php magento magento-1.5

我是Magento的新手,我正在从事一项cron工作,在分配的日期之后删除特定类别的产品。通过工作和Stackoverflow的帮助,我想出了这段代码:

require_once 'app/Mage.php';
Mage::app();
$date = Mage::getModel('core/date')->date('Y-m-d H:i:s');
$collection = Mage::getModel('catalog/product')->getCollection();    
$collection->addfieldtofilter('news_to_date', array(array('to' => $date)));        
foreach($collection as $product) {        
   $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
   $product->save();
 }

检查实际日期并将其与产品日期进行比较。如果日期已过,则禁用该产品。我需要的是,代码不应禁用该产品,而应删除该类别的产品(在这种情况下,类别为“销售”)

我希望你们能帮助我!

提前致谢!

2 个答案:

答案 0 :(得分:3)

您需要从产品中获取所有类别ID,然后从类别ID数组中删除销售类别ID并将其设置回产品。

示例,销售类别ID为5.

foreach ($collection as $product) {
    //Getting all category ids
    $ids = $product->getCategoryIds();
    //Searching array key with value 5 and removing from array
    if (($key = array_search(5, $ids)) !== false) {
        unset($ids[$key]);
        $product->setCategoryIds($ids)
        $product->save();
    }
}

P.S。您可以使用magento cron作业功能,而不需要使用:

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

答案 1 :(得分:0)

请在下面进行:

首先 转到 - >目录菜单 - >管理产品 - >克隆您的产品名称 - >类别(左侧菜单栏) - >查看右侧类别名称并取消选中该类别。