2010-12-18 3 views
1

전자 상거래 플랫폼을 구축하는 동안 디자인 문제가 발생했습니다. 내장 된 CodeIgniter의 카트 클래스로 작업하고 있습니다. 그것은 모든 장바구니 정보를 세션에 저장합니다. 장바구니에 제품이 이미 채워져 있고 사용자가 결제를 클릭한다고 가정 해 보겠습니다. 주문은 언제 데이터베이스에 저장해야합니까? 그 직후에 정보를 수집하고 세션에서 그것을 멈추는 몇 단계를 클릭하거나 후에? 다양한 배송 방법과 같은 추가 기능을 처리하는 방법은 무엇입니까? 바구니에 먼저 추가하고 세션에 선물 주소를 추가해야합니까? 선물 주소와 주문 사이의 관계 때문에 데이터베이스에 저장하고 싶지 않습니다. 주문의 ID가 무엇인지 알지 못하기 때문에 필요하지 않습니다. 나는 당황 스럽다 :) 게다가 나는 장바구니의 내용이 마치 재발송과 같기 때문에 장바구니를 배송 방법 및 추가로 구입 한 서비스 (선물 주소를 선택함으로써 추가 비용이 발생 함)를 인식하는 것이 중요하다고 생각한다.CodeIgniter 기반 전자 상점, 배송 및 선물 주소 디자인 문제

요컨대, 체크 아웃을 처리하는 가장 좋은 방법은 무엇입니까?

답변

3

"options" value of the cart을 사용하여 배송 옵션처럼 장바구니 항목에 속성을 추가 할 수 있습니다.

$data = array(
      'id'  => 'sku_123ABC', 
      'qty'  => 1, 
      'price' => 39.95, 
      'name' => 'T-Shirt', 
      'options' => array('shipId' => '1234abcd5678efghi') 
     ); 

$this->cart->insert($data); 

데이터베이스의 증분 ID가 필요하지 않으므로주의하십시오. uniqid() 또는 com_create_guid()으로 고유 ID를 만들 수 있습니다.

의견을 요청할 때 ... 사용자와 관련된 별도의 주소록 테이블에 다른 운송 주소를 저장해야하며 주문에 가입하지 않아야합니다. 마지막으로 체크 아웃의 일부로 주.을 작성할 때 제품 데이터 W 주소록 데이터가 변경 될 수 있으 G로 모든 데이터 (주소 데이터 W 관련 제품 데이터)를 별도의 주. 표로 복사해야합니다. 주문 데이터는 상태와 별도로 한 번만 쓰고 결코 업데이트하지 않아야합니다. 주문이 저장되면 세션 데이터를 삭제할 수 있습니다.

관련 문제