2015-01-10 3 views
1

Я пытаюсь добавить более одного продукта с одинаковым идентификатором, но с разными размерами с тележкой Moltin. Проблема здесь в том, что если я пытаюсь добавить в корзину тот же продукт с разными размерами, он просто увеличивает количество, а не добавляет его. Я googled для решения, но я обнаружил, что это происходит из-за передачи того же ID в метод 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 
)); 

Я хочу, чтобы добавить новый продукт, если размер не является нулевым. Как мне это сделать?

+1

Вы должны действительно иметь разные 'ids' для различных продуктов с различными размерами. – Laurence

ответ

2

Я никогда не использовал Moltin корзины пакет, но, глядя на code он выглядит, как он строит идентификатор элемента, используя комбинацию 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' 
    ) 
));