簡體   English   中英

Prestashop,檢查在購物車上觸發了哪個操作(添加/更新),來自 hookActionCartSave

[英]Prestashop, check which action is triggered on a cart (add / update), from hookActionCartSave

我正在為客戶創建一個 Prestashop 自定義掛鈎,以便在將產品添加到購物車時將信息發送到 API。 我正在使用 hookActionCartSave,但是當更新購物車或添加新產品時會觸發此鈎子。 所以我的問題是,如何檢查觸發了哪些操作並僅在添加新產品時執行我的代碼。 你會在下面找到我的代碼。 謝謝您的幫助。

public function hookActionCartSave($params)
{
    if (!Validate::isLoadedObject($this->context->cart) || !Validate::isLoadedObject($params['cart'])) {
        return false;
    } else {
        $cart = $params['cart'] ; 
        $products = $cart->getProducts();
        $product_count = 0;
        //get products details
        $products_details = array();
        foreach($products as $item){
            $products_details[] = array(
                  "name" => $item->product_name,
                  "product_id" => $item->product_id,
                  "price" => $item->total_price_tax_incl,
                  "quantity" => $item->product_quantity
                );
            $product_count = $product_count + $item->product_quantity ;
        }
        $productsJsonData = json_encode($products_details);

        $last_cart_product = $cart->getLastProduct();
        $last_added_product = new Product($last_cart_product['id_product']);

        // send data to my API 

    }

我認為您可以使用 actionObjectCartAddAfter 掛鈎來做您想做的事。

如果您想了解有關此掛鈎的更多信息,可以在 /classes/ObjectModel.php 文件中添加 function 中查看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM