테스트 사이트 - 개발 중인 베타 버전입니다

상세페이지 가격 임의 변경 후 장바구니에도 적용시키는 방법 채택완료

디스달나노 10개월 전 조회 1,314

특별한 링크로 들어오면 상세페이지에서 가격이 20%로 할인되게 만들어났습니다.

item.form.skin에서

<input type='hidden' id='it_price' value=<input type='hidden' id='it_price' value="원하는 가격">으로

변경하니 잘되네요.

 

그런데 카트(장바구니)로 들어가보면 할인이 안되어 있습니다.

 

it_price 그대로 장바구니에도 동일하게 할인되어 적용시키려면 어떻게 해야할까요?

 

상세페이지 : 10000원짜리가 8000원으로 잘되어 있음

장바구니 : 그대로 10000으로 되어 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
glitter0gim
10개월 전

특정 링크를 통해 접근했을 때

할인된 가격이 상세페이지와 장바구니에 일관되게 적용되도록 하려면,

클라이언트에서 변경된 가격을 서버로 전송하고

서버에서 이를 처리하여 장바구니 세션 데이터에 저장해야 합니다.

 

※ 방법 예시:

*/skin/shop/basic/item.form.skin.php

  - 할인된 가격 it_price 값을 <input type='hidden'>으로 클라이언트에서 서버로 전송

</p>

<p data-pm-slice="1 1 []"><input type="hidden" name="discount_price" value="<?=$discount_price?>"></p>

<p>

*장바구니 처리 파일(/shop/cartupdate.php)에서

  $_POST['discount_price'] 값을 받아 서버에서 검증 후 세션에 저장

</p>

<p>$discount_price = isset($_POST['discount_price']) ? intval($_POST['discount_price']) : 0;</p>

<p>// 할인 가격 검증 (예: 특정 링크나 조건 확인)

if (valid_discount($discount_price)) { 

    $_SESSION['cart'][$it_id]['it_price'] = $discount_price;

} else {

    $_SESSION['cart'][$it_id]['it_price'] = $it_price; // 기본 가격

}</p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

cuwaaang
10개월 전

가격은 여기저기 연관된데가 많아서 그렇게 강제로 바꾸면 문제가 계속 발생할수있습니다.

차라리 접속 후 값을하나주고 로그인후 쿠폰을 따로 발급시키는게 안전할거같네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10개월 전

최신버전의 영카트라면 장바구니에서 다시 한번 가격을 체크하고 변경되게 되어 있습니다.

lib/shop.lib.php 파일에서 before_check_cart_price 함수 부분도 링크타고 들어왔을때 가격 체크하는 부분을 추가해주셔야 할 거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인