Napisalem maly program ktory laduje te pliki i uaktualnia stan i ceny produktow w sklepie.
Problem w tym, ze jesli cos jest nie dostepne i wartosc zostanie zmieniona na 0 to produkt dalej widnieje w sklepie.
Jesli zmienie w backendzie wartosc na 0 to magento automatycznie ustawia "Out of stock", jesli dam 0 besposrednio w MySQL niestety nie.
Ponizej moj kod C#
Kod: Zaznacz cały
public void updateHB(string sku, string qty, string price)
{
try
{
connect.Open();
MySqlCommand query = new MySqlCommand(
//update qty
"update cataloginventory_stock_item set qty = '" + qty + "' " +
"where cataloginventory_stock_item.product_id = " +
"(select catalog_product_entity.entity_id from catalog_product_entity where sku ='" + sku + "');" +
//update price, stock price + 15%
"update catalog_product_entity_decimal set value = (" + price + " * 1.15) " +
"where catalog_product_entity_decimal.attribute_id = '75' and " +
"catalog_product_entity_decimal.entity_id = " +
"(select catalog_product_entity.entity_id from catalog_product_entity where sku ='" + sku + "');"
, connect);
query.ExecuteNonQuery();
connect.Close();
successMSG(sku);
}
catch
{
errorMSG();
}
}
W bazie, w tabeli "cataloginventory_stock_item" zauwazylem pole: "is_in_stock"
Zmiana wartosci na 0 nie daje zadnego rezultatu.