我正在自定义OpenCart3。出于某些原因,我必须在会话中保存cart
表的内容,然后重新插入它们,但是使用$this->cart->add(...)
添加会话数据时,额外代码会添加到我不知道如何的选项中阻止。
foreach($this->session->data['in_cart']['rows'] as $key => $row){
if ($row['store_id'] != $this->session->data['cart_store_id']) {
$this->cart->add($row['product_id'], $row['quantity'], $row['option'], $row['recurring_id'], $row['store_id']);
}
}
最初的选项应保存为:
{"90":["263"],"89":["260"]}
但他们被保存为:
"{\"142\":[\"494\"],\"141\":[\"492\"]}"
感谢您提供任何帮助,但不是down voting
。
答案 0 :(得分:0)
我通过将保存的字符串解码为数组,然后添加它来解决问题:
foreach($this->session->data['in_cart_total_products_all_stores']['rows'] as $key => $row){
if ($row['store_id'] != $this->session->data['cart_store_id']) {
$options = json_decode($row['option']);
$this->cart->add($row['product_id'], $row['quantity'], $options, $row['recurring_id'], $row['store_id']);
}
}