magento - 如何以编程方式禁用 Magento 中所有商店 View 的产品?

标签 magento

我想以编程方式禁用所有商店 View 的产品。请帮助我

我尝试了以下...但没有运气

$storeId = 0;                               
Mage::getModel('catalog/product_status')->updateProductStatus($product_id, $storeId, Mage_Catalog_Model_Product_Status::STATUS_DISABLED);

最佳答案

首先,$storeId=0是管理员的默认商店ID,如果您想禁用所有商店 View 的产品,那么您可以设置$storeId=Mage:app()->getStoreId() //这是当前商店 ID

之后您可以禁用所有产品

$product_id=1;
$storeId=Mage::app()->getStoreId();
Mage::getModel('catalog/product_status')->updateProductStatus($product_id, $storeId, Mage_Catalog_Model_Product_Status::STATUS_DISABLED);

编辑

这适用于所有商店 View ,我认为这是实现此目的的肮脏方法

<?php
    $allStores = Mage::app()->getStores();
    foreach ($allStores as $_eachStoreId => $val)
    {
        $_storeId[] = Mage::app()->getStore($_eachStoreId)->getId();
    }
    for($i=0;$i<count($_storeId);$i++)
    {
        $product_id=1;
        $storeId=$_storeId[$i];
        Mage::getModel('catalog/product_status')->updateProductStatus($product_id, $storeId, Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
    }
?> 

如果您有任何疑问,请告诉我

关于magento - 如何以编程方式禁用 Magento 中所有商店 View 的产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23445085/

相关文章:

magento - 无法修改 Magento 事件观察者中的响应,即使观察者正在触发

magento - Paypal Checkin Tab 过期

php - Magento 2 : Bulk Actions Not Starting?

php - 如何编辑Magento的API函数 "items()"获取商品的ImageUrl

Magento 集合 - setOrder 和 getFirstItem

php - Magento SQL 语句未返回预期结果

url - magento 显示请求地址

magento - 添加启用所见即所得的类别属性

mysql - Magento 高负载下抛出错误 : UNQ_SALES_FLAT_INVOICE_INCREMENT_ID

magento - 自定义属性类型,文件上传