[英]How to change product name in the cart in Prestashop?
產品的名稱,只要它們在購物車中,就會從產品 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.