1

我正在尝试在 PS 1.6 上开发一个自定义页面,客户可以在其中从表单创建新产品,然后将其添加到购物车。

例如,我正在销售木制品,我希望我的客户填写一份表格,他们需要在其中指定木材的类型、尺寸……根据这些标准,价格将被修改,它将创建一个“最终" 将添加到客户购物车中的产品。

我知道我将如何开发表单,并且我相信我可以使用 Cart.php 中的 updateQty() 将产品添加到购物车,但是我如何从表单中获得的数据中实例化我的产品?我正在尝试搜索所有文件,但似乎找不到新产品的实例化位置。

在此先感谢您的帮助

4

2 回答 2

3

我正在回答我的问题,因为我设法做到了。这是我的解决方案:

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);
}
于 2014-06-11T09:30:17.697 回答
0

不能用属性来开发产品吗?原因是您实际上将让客户将信息添加到您的数据库中,然后您将不得不对其进行清理和验证。我会使用 Prestashop 的内置属性来做这样的事情。

于 2014-06-10T15:30:18.863 回答