我需要打开Manage Stock选项

时间:2013-09-26 21:43:01

标签: magento

我需要为成千上万的产品启用Manage Stock选项。我正在使用PHP来更新Magento表。我只需要帮助识别要更新的表和字段。字段是:

管理库存
物品的状态变为缺货的数量
购物车中允许的最低数量
通知数量低于

我相信他们可能在catalog_product_entity_int中,但我不知道哪个值与哪个有关。

3 个答案:

答案 0 :(得分:2)

您正在搜索Mage_CatalogInventory_Model_Stock_Item型号:

$sProductId = 911;
$oStockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($sProductId);
var_dump($oStockItem->getData());

Sample output:
["item_id"]=> string(4) "911"
["product_id"]=> string(4) "911"
["stock_id"]=> string(1) "1"
["qty"]=> string(6) "0.0000"
["min_qty"]=> string(7) "-3.0000"
["use_config_min_qty"]=> string(1) "1"
["is_qty_decimal"]=> string(1) "0"
["backorders"]=> string(1) "0"
["use_config_backorders"]=> string(1) "1"
["min_sale_qty"]=> string(7) "10.0000"
["use_config_min_sale_qty"]=> string(1) "1"
["max_sale_qty"]=> string(6) "0.0000"
["use_config_max_sale_qty"]=> string(1) "1"
["is_in_stock"]=> string(1) "0"
["low_stock_date"]=> string(19) "2013-06-28 01:02:34"
["notify_stock_qty"]=> string(6) "0.0000"
["use_config_notify_stock_qty"]=> string(1) "1"
["manage_stock"]=> string(1) "1"
["use_config_manage_stock"]=> string(1) "1"
["stock_status_changed_auto"]=> string(1) "1"
["use_config_qty_increments"]=> string(1) "1"
["qty_increments"]=> string(6) "0.0000"
["use_config_enable_qty_inc"]=> string(1) "1"
["enable_qty_increments"]=> string(1) "0"
["type_id"]=> string(6) "simple"
["stock_status_changed_automatically"]=> string(1) "1"
["use_config_enable_qty_increments"]=> string(1) "1"

启用管理库存(或任何其他属性)的示例代码:

$sProductId = 911;
$oStockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($sProductId);
$sStockId = $oStockItem->getId();
$aStock = array();
if (!$sStockId) {
    $oStockItem
        ->setProductId($sProductId)
        ->setStockId(1);
}
else {
    $aStock = $oStockItem->getData();
}

$aStock['manage_stock'] = 1;
// $aStock['use_config_manage_stock'] = 1;

foreach ($aStock as $k => $v) {
    $oStockItem->setData($k, $v);
}

$oStockItem->save();

答案 1 :(得分:2)

manage stock选项在cataloginventory_stock_item中有自己的col 如果你想通过mysql这样做,你可以这样做。

有2个选项,不确定哪个选项适合您。

如果系统配置系统 - >广告资源 - >产品库存选项 - >管理库存设置为是,则许多人只想更新use_config_manage_stock

UPDATE 
    cataloginventory_stock_item 
SET 
    use_config_manage_stock = 1

另一种方法是为每个产品单独设置

UPDATE
    cataloginventory_stock_item 
SET 
    use_config_manage_stock = 0, 
    manage_stock = 1

运行这些查询后,您应该重新索引“库存状态”

答案 2 :(得分:0)

表:cataloginventory_stock_item

manage_stock将值更新为1,use_config_manage_stock将值更新为0