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

장바구니 담기 했을때 팝업만 띄우기 채택완료

brocolly 5년 전 조회 4,070

상세 페이지에서 장바구니 담기를 하게 되면, 

cart.php로 이동을 하는데요,

 

여기서 그냥 이동시키지 않고, "상품을 담았습니다" 얼럿창만 하나 띄워주고

동작을 끝내고 싶습니다. 그냥 그 페이지에 머물러 있게요..

 

어떻게 처리해야할까요 

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

답변 2개

채택된 답변
+20 포인트
c
5년 전

제가 모바일에서 작업했던건데요...

 

pc 버전은 작업은 안해봤지만 똑같지 않을까 싶습니다;;

 

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

 

아마 이게 원본 소스일꺼구요... 아래 두번째 소스처럼 변경해서 작업했었습니다...

</p>

<p><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"></p>

<p>.</p>

<p>.</p>

<p>.</p>

<p>.</p>

<p>.</p>

<p> </p>

<p>// 바로구매, 장바구니 폼 전송

function fitem_submit(f)

{

    f.action = "<?php echo $action_url; ?>";

    f.target = "";</p>

<p>    if (document.pressed == "장바구니") {

        f.sw_direct.value = 0;

    } else { // 바로구매

        f.sw_direct.value = 1;

    }</p>

<p>

 

</p>

<p><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"></p>

<p>.</p>

<p>.</p>

<p>.</p>

<p>.</p>

<p>.</p>

<p> </p>

<p>// 바로구매, 장바구니 폼 전송

function fitem_submit(f)

{

    f.action = "<?php echo $action_url; ?>";

    f.target = "";</p>

<p>    if (document.pressed == "장바구니") {

        var msg = confirm('장바구니에 담았습니다. \n바로 확인하시겠습니까?');</p>

<p>        if( msg )

            f.go_cart.value = 1;

        else

            f.go_cart.value = 0;</p>

<p>        f.sw_direct.value = 0;

    } else { // 바로구매

        f.sw_direct.value = 1;

    }</p>

<p>

 

장바구니 클릭시 장바구니에 담기고 confirm 창을 띄워 바로 확인할지 그냥 머무를지를 선택하게 해서

 

확인을 누르면 장바구니페이지로 이동되고, 취소를 누르면 보고 있던 페이지에 머무르게 됩니다...

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

답변에 대한 댓글 4개

b
brocolly
5년 전
답변 감사드립니다.
올려주신 소스로 해보니 창은 뜨는데 취소를 눌러도 카트로 이동을 합니다 ㅠㅠ
c
coDribble
5년 전
@brocolly form 불러오는 상단 쪽에
<input type="hidden" value="go_cart"> 이 부분도 추가 하신건가요..??
c
coDribble
5년 전
@brocolly

아 /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창을 띄운거라...

좀 수정한건데 이런식이면 되지 않을까 싶네요...
b
brocolly
5년 전
잘 작동합니다! 대단히 감사합니다.

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

답변보고 저도 적용해서 잘사용중인데요.

옵션이 있는 상품을 장바구니에 담으면 옵션을 선택하세요. 라고 먼저 떠야 되는데 장바구니에 담았습니다. 경고창 뜨고 옵션을 선택하세요.라고 바로 또 뜹니다. 이부분은 해결어떻게 하면 되나요??

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

답변에 대한 댓글 1개

c
coDribble
4년 전
제가 적용했던 방법은... 옵션이 없는 상품들만 판매중인 쇼핑몰에 작업한거다보니... 옵션이 있는 경우는 생각하지 않고 작업했습니다;;;

옵션처리 부분에 대해서는 저도 해보질 않아서 잘 모르겠네요ㅠㅠㅠ 죄송합니다;;

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

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

로그인