Я пытаюсь добавить более одного продукта с одинаковым идентификатором, но разных размеров, с помощью корзины Moltin. Проблема здесь в том, что если я пытаюсь добавить в корзину один и тот же товар с разными размерами, он просто увеличивает количество, а не добавляет его. Я гуглил решение, но обнаружил, что это происходит из-за передачи того же идентификатора в Cart::insert()
метод.
Метод вставки в корзину:
Cart::insert(array(
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'dimension'=>null,
'unit'=>$product->unit,
'quantity' => $quantity,
'image' => $product->image,
'tax' =>$product->taxvalue,
'taxtype'=>$product->tax,
'pincode' =>$pincode,
'shippingfee'=>Session::get('shippingfee'),
'retailerId' =>$retailerIdfromProductId
));
Я хочу добавить новый продукт, если измерение не равно нулю. Как мне это сделать?
Я никогда не использовал Moltin пакет корзины, но глядя на код похоже, он строит идентификатор элемента, используя комбинацию id
поле и options
поле массива. Поэтому, если id
то же самое, но options
разные, он должен вставить два разных товара в корзину.
Можете ли вы сделать что-то вроде этого:
// first item with no dimension
Cart::insert(array(
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'unit' => $product->unit,
'quantity' => $quantity,
'image' => $product->image,
'tax' => $product->taxvalue,
'taxtype' => $product->tax,
'pincode' => $pincode,
'shippingfee' => Session::get('shippingfee'),
'retailerId' => $retailerIdfromProductId,
'options' => array(
'dimension' => null
)
));
// second item with 'M' dimension
Cart::insert(array(
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'unit' => $product->unit,
'quantity' => $quantity,
'image' => $product->image,
'tax' => $product->taxvalue,
'taxtype' => $product->tax,
'pincode' => $pincode,
'shippingfee' => Session::get('shippingfee'),
'retailerId' => $retailerIdfromProductId,
'options' => array(
'dimension' => 'M'
)
));
Других решений пока нет …