상세 페이지에서 장바구니 담기를 하게 되면,
cart.php로 이동을 하는데요,
여기서 그냥 이동시키지 않고, "상품을 담았습니다" 얼럿창만 하나 띄워주고
동작을 끝내고 싶습니다. 그냥 그 페이지에 머물러 있게요..
어떻게 처리해야할까요
답변 2개 / 댓글 5개
제가 모바일에서 작업했던건데요...
pc 버전은 작업은 안해봤지만 똑같지 않을까 싶습니다;;
/skin/shop/basic/item.form.php
아마 이게 원본 소스일꺼구요... 아래 두번째 소스처럼 변경해서 작업했었습니다...
<form name="fitem" action="<?php echo $action_url; ?>" method="post" onsubmit="return fitem_submit(this);">
<input type="hidden" name="it_id[]" value="<?php echo $it['it_id']; ?>">
<input type="hidden" name="sw_direct">
<input type="hidden" name="url">
.
.
.
.
.
// 바로구매, 장바구니 폼 전송
function fitem_submit(f)
{
f.action = "<?php echo $action_url; ?>";
f.target = "";
if (document.pressed == "장바구니") {
f.sw_direct.value = 0;
} else { // 바로구매
f.sw_direct.value = 1;
}
<form name="fitem" action="<?php echo $action_url; ?>" method="post" onsubmit="return fitem_submit(this);">
<input type="hidden" name="it_id[]" value="<?php echo $it['it_id']; ?>">
<input type="hidden" name="sw_direct">
<input type="hidden" name="go_cart"> << 추가
<input type="hidden" name="url">
.
.
.
.
.
// 바로구매, 장바구니 폼 전송
function fitem_submit(f)
{
f.action = "<?php echo $action_url; ?>";
f.target = "";
if (document.pressed == "장바구니") {
var msg = confirm('장바구니에 담았습니다. \n바로 확인하시겠습니까?');
if( msg )
f.go_cart.value = 1;
else
f.go_cart.value = 0;
f.sw_direct.value = 0;
} else { // 바로구매
f.sw_direct.value = 1;
}
장바구니 클릭시 장바구니에 담기고 confirm 창을 띄워 바로 확인할지 그냥 머무를지를 선택하게 해서
확인을 누르면 장바구니페이지로 이동되고, 취소를 누르면 보고 있던 페이지에 머무르게 됩니다...
답변에 대한 댓글 4개
<input type="hidden" value="go_cart"> 이 부분도 추가 하신건가요..??
아 /shop/cartupdate.php 파일 제일 하단에도 추가 해줘야 하는 부분이 있네요;;
원본
[code]
// 바로 구매일 경우
if ($sw_direct)
{
if ($is_member)
{
goto_url(G5_SHOP_URL."/orderform.php?sw_direct=$sw_direct");
}
else
{
goto_url(G5_BBS_URL."/login.php?url=".urlencode(G5_SHOP_URL."/orderform.php?sw_direct=$sw_direct"));
}
}
else
{
goto_url(G5_SHOP_URL.'/cart.php');
}
[/code]
수정본
[code]
// 바로 구매일 경우
if ($sw_direct)
{
if ($is_member)
{
goto_url(G5_SHOP_URL."/orderform.php?sw_direct=$sw_direct");
}
else
{
goto_url(G5_BBS_URL."/login.php?url=".urlencode(G5_SHOP_URL."/orderform.php?sw_direct=$sw_direct"));
}
}
else
{
if( $go_cart ) // item.form.skin.php 에 confirm창 확인 선택시
goto_url(G5_SHOP_URL.'/cart.php');
else // item.form.skin.php 에 confirm창 취소 선택시
goto_url($_SERVER['HTTP_REFERER']);
}
[/code]
제가 작업했던건 모바일에서만 confirm창을 띄운거라...
좀 수정한건데 이런식이면 되지 않을까 싶네요...
답변보고 저도 적용해서 잘사용중인데요.
옵션이 있는 상품을 장바구니에 담으면 옵션을 선택하세요. 라고 먼저 떠야 되는데 장바구니에 담았습니다. 경고창 뜨고 옵션을 선택하세요.라고 바로 또 뜹니다. 이부분은 해결어떻게 하면 되나요??
답변에 대한 댓글 1개
옵션처리 부분에 대해서는 저도 해보질 않아서 잘 모르겠네요ㅠㅠㅠ 죄송합니다;;
답변을 작성하려면 로그인이 필요합니다.
올려주신 소스로 해보니 창은 뜨는데 취소를 눌러도 카트로 이동을 합니다 ㅠㅠ