PHP 模块没有为 prestashop 设置数量


PHP module does not set quantity for prestashop

嗨,我正在使用php模块来添加新产品。一切正常,但由于某种原因,此代码未设置产品数量。

$id_product = (int)Db::getInstance()->getValue("SELECT id_product FROM `$product` WHERE reference = '$product_xml[id]'");
$p = new Product();
$p->reference = $product_xml['id'];
$p->price = (float)$price;
$p->active = 1;
$p->quantity = (int)$product_xml['count']; 
$p->minimal_quantity = 1;
$p->available_for_order=1;
$p->id_category = array(26);
$p->id_category_default = 26;
$p->name[1] = $product_xml['name'];
$p->description[1] = utf8_encode($product_xml->Description);
$p->description_short[1] = utf8_encode($product_xml->Short_Description);
$p->link_rewrite[1] = Tools::link_rewrite($product_xml['name']);
if (!isset($p->date_add) || empty($p->date_add))
$p->date_add = date('Y-m-d H:i:s');
$p->date_upd = date('Y-m-d H:i:s');
$p->save();
$id_product ? $p->updateCategories(array(26)) : $p->addToCategories(array(26));

您还应该使用:

StockAvailable::setQuantity($p->id, null, (int)$product_xml['count']);

把它放在你当前的代码之后。