我正在尝试在 PS 1.6 上开发一个自定义页面,客户可以在其中从表单创建新产品,然后将其添加到购物车。
举例来说,我正在销售木工艺品,我希望我的客户填写一份表格,他们需要指定木材的类型、尺寸…… 根据这些标准,价格将被修改,并将创建一个“最终”产品,并将其添加到客户的购物车中。
我知道如何开发表单,并且我相信我可以使用 Cart.php 中的 updateQty() 将产品添加到购物车,但是如何从表单中获取的数据实例化我的产品?我正在尝试搜索所有文件,但我似乎无法找到新产品的实例化位置。
提前感谢您的帮助
我正在回答我的问题,因为我设法做到了。这是我的解决方案:
public static function créerProduct($name, $ean13, $category, $price, $description, $reference){
$product = new Product();
$languages=Language::getLanguages();
foreach($languages as $lang){
$product->name[$lang['id_lang']]=$name;
$product->link_rewrite[$lang['id_lang']]=$name;
$product->description[$lang['id_lang']]=$description;
}
$product->reference=$reference;
$product->quantity=0;
$product->id_category_default=$category;
$product->id_category[]=$product->id_category_default;
$product->price=$price;
$product->id_tax_rules_group=1;
$product->indexed=0;
try{
$product->save();
} catch (PrestaShopException $e){
echo $e->displayMessage();
}
$product->updateCategories(array_map('intval', $product->id_category));
StockAvailable::setQuantity($product->id,'',1);
return $product->id;
}
public static function addProduitauPanier($id_product){
$context=Context::getContext();
$result=$context->cart->updateQty(1,$id_product);
}
不能用属性来开发产品吗?原因是,您实际上将让客户将信息添加到您的数据库中,然后您将必须对其进行清理和验证。我会使用 Prestashop 的内置属性来做这样的事情。