2012-12-08 4 views
1

장바구니에 여러 번 항목을 여러 번 추가하려했으나 항목이 장바구니에없는 경우 장바구니에 항목이 추가되었습니다.Codeigniter 장바구니 - 항목을 여러 번 추가해도 수량이 증가하지 않습니다

CI 장바구니에 정상입니까, 아니면 뭔가 엉망이 되었습니까?

어떻게 해결할 수 있습니까?

두 번째 항목의 가격을 변경하려면 동일한 항목을 여러 번 추가하고 싶습니다 (특별 행사).

내 cart_add 함수는 codeigniter 설명서에서 예제처럼 보입니다. 코드를 포함 할 필요가 없습니다.

장바구니 클래스 코드에서 카트 행 식별자 ($rowid)는 idoptions에서 생성 된 md5 체크섬임을 알 수 있습니다. 일시적으로 다음과 같이 options 배열에 추가했습니다 :

'options' => array('rid' => mt_rand(), ...) 

더 좋은 방법이 있습니까? 나는 그것을 잘못하고 있다고 느낍니다.

답변

2

내가 알고 있듯이 수량을 늘리려면 카트를 여러 번 직접 추가/업데이트 할 수 없습니다. 장바구니 내용을 반복하여 카트 업데이트를 수행해야합니다. CI는 항상 삽입 된 제품/항목에 고유 한 row_id를 작성하기 때문입니다. The reason a unique ID is created is so that identical products with different options can be managed by the cart. 더 명확하게하기 위해 이것을 참조 할 수도 있습니다 article. 여기

당신이 당신의 장바구니에 항목을 업데이트 할 수있는 : 명확히하기위한

foreach($this->cart->contents() as $item){ 
    if($item['id'] == 'your_product_id'){ 
     $item['qty'] = 3; 
     $this->cart->update($item); 
    } 
} 
+0

감사합니다,하지만 CI 장바구니 클래스 코드 분석 후 내가 모든 항목에 "예"에 고유 식별자를 강제로 옵션 배열에 임의의 숫자를 넣어 덧붙였다. 나는 그 방법이 더 빨리 (아무 고리도) 작동하지 않을 것이고 어쨌든 특별한 제안 (1 개 이상의 가격에서 같은 제품)을 처리하기 위해 중복 된 항목이 필요하다고 생각한다. – Kamil

+0

@Kamil 늦게 답변드립니다. CI가 다른 제품으로 만 추가하기 때문에 귀하의 방법을 사용하는 것이 더 빠를 것입니다. 그것은 당신의 필요에 기초합니다. 그리고 당신은 환영합니다 :) – SubRed

관련 문제