簡體   English   中英

如何在 Prestashop 中更改購物車中的產品名稱?

[英]How to change product name in the cart in Prestashop?

我想更改購物車中某些產品的名稱。 我能夠更改購物車中某些產品的價格。 但是我無法更改購物車中某些產品的名稱。

我怎樣才能做到這一點? 是否可以。 感謝您的幫助。

為了您更好地理解,下面是 cart->getProducts() 操作的一些結果。

在此處輸入圖像描述

產品的名稱,只要它們在購物車中,就會從產品 object 中讀取,因此如果您想動態更改它們的名稱,則必須覆蓋cart->getProducts()方法。

但請記住,一旦購物車成為訂單,產品名稱就會被復制/存儲在orderDetail object 中,您可以在知道原始id_cart / id_order后通過重命名“product_name”字段來自由干預。

我用下面的代碼解決了這個問題。 如果你遇到這個問題,你可以自己編輯下面的代碼。 並且您必須在 validateOrder function 或驗證訂單后執行這些操作。

        $order = Order::getByCartId($cart->id);

        $order_details = OrderDetail::getList($order->id);


        foreach ($order_details as $order_detail) {
            if ($order_detail['product_name'] === 'Installment' && (string)$order_detail['product_price'] == (string)$installment_fee) {
                $order_detail_id = $order_detail['id_order_detail'];
            }
        }

        if (!is_null($order_detail_id)) {
            $order_detail = new OrderDetail($order_detail_id);
            $order_detail->product_name = 'Changed product name';
            $order_detail->save();
        }

暫無
暫無

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

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