2013-09-26 3 views
1

Мне нужно включить опцию Manage Stock для тысяч продуктов. Я использую PHP для обновления таблиц Magento. Мне просто нужна помощь в определении таблиц и полей для обновления. Поля не являются:Мне нужно включить опцию управления запасами

Управление со
Кол-во для статуса элемента, чтобы стать на складе
Минимальный Кол-во животных в корзину
Notify для Штук Ниже

Я считаю, что они могли бы быть в catalog_product_entity_int, но у меня нет идея, какое значение имеет к этому отношение.

ответ

1

Вы ищете 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(); 
0

Таблица: cataloginventory_stock_item

колонны manage_stock значение обновление 1 и use_config_manage_stock обновление Значение для 0

2

У опции управления запасом есть свой col col в cataloginventory_stock_item Если вы хотите сделать это через mysql, вы можете это сделать.

Есть 2 варианта, не уверенный, что является правильным для вас.

Если конфигурация системы Система-> Inventory-> Продукт со Options-> Управление Stock установлено значение да, то многие хотят обновить только 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 

После выполнения этих запросов, вы должны проиндексировать «Статус» со

Смежные вопросы