2017-11-09 8 views
0

私は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

私はそれを付加し、配列に保存された文字列をデコードすることにより問題を修正:

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']); 
    } 
} 
関連する問題