我需要为成千上万的产品启用Manage Stock选项。我正在使用PHP来更新Magento表。我只需要帮助识别要更新的表和字段。字段是:
管理库存
物品的状态变为缺货的数量
购物车中允许的最低数量
通知数量低于
我相信他们可能在catalog_product_entity_int中,但我不知道哪个值与哪个有关。
答案 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