팁/튜토리얼

누리고 상품상세 페이지에서 취소하기

2024.09.05 01:44
142
0

파일 : modules/nproduct/skins/jslocalprograms/itemdetail.blade.php

 

관리자가 직접 상품상세페이지에서 주문 삭제하는 기능입니다.

라이믹스 v2 블레이드 문법으로 작성했고, 공부하시는 분들도 참조용으로 봐주세요.

 

@auth
                <div class="cancel-box">
                    @php
                        $member_srl = $logged_info->member_srl;
                        $item_srl = $item_info->item_srl;
                        $query = "SELECT * FROM `nstore_cart` WHERE `member_srl` = $member_srl AND `item_srl` = $item_srl";
                        $oDB = DB::getInstance();
                        $stmt = $oDB->prepare($query);
                        $stmt->execute();
                        $output = $stmt->fetchAll(PDO::FETCH_ASSOC);
                    @endphp

                    @php
                        $hasItems = false;
                    @endphp

                    @if($output)
                        @foreach($output as $key => $val)
                            @if((int)$val['order_status'] > 0)
                                @php
                                    $hasItems = true;
                                    break;  // 첫 번째로 조건을 만족하는 항목을 찾으면 루프를 종료합니다.
                                @endphp
                            @endif
                        @endforeach
                    @endif

                    @if($hasItems)
                        <dl class="orderlist-box">
                            <dt>
                                <span>주문번호</span>
                                <span>주문날짜</span>
                                <span>주문수량</span>
                                <span class="hide">주문상태</span>
                                <span style="color:#fff;">취소하기</span>
                            </dt>
                            @foreach($output as $key => $val)
                                @if((int)$val['order_status'] >= 2)
                                    <dd>
                                        <span>{{ $val['order_srl'] }}</span>
                                        <span data="{{ zdate($val['regdate'],'Y/m/d H:i') }}">{{ zdate($val['purdate'],'Y/m/d H:i') }}</span>
                                        <span>{$val['quantity']}</span>
                                        <span class="hide">
                        @switch($val['order_status'])
                                                @case ('0')
                                                    주문삭제
                                                    @break
                                                @case ('1')
                                                    입금대기
                                                    @break
                                                @case ('2')
                                                    입금완료
                                                    @break
                                                @case ('6')
                                                    구매완료
                                                    @break
                                            @endswitch
                        ({$val['order_status']})
                    </span>
                                        <span>
                                            <input type="text" name="refund">
                        <button class="btn-cancel" onclick="update_status('{{ $val['order_srl'] }}','Z');return false;">신청취소</button>
                    </span>
                                    </dd>
                                @endif
                            @endforeach
                        </dl>
                    @endif


                    <script>
                        function update_status(order_srl, stat) {
                            var params = {};  // 빈 객체 생성
                            params['order_srl'] = order_srl;
                            params['order_status'] = stat;
                            exec_json('nstore.procNstoreUpdateOrderStatus', params, function(ret_obj) {
                                alert(ret_obj['message']);
                                location.reload();  // 페이지 새로고침
                            });
                        }
                    </script>
                </div>
                @endauth

 

eond Lv. 12

댓글 1

  • 2024.09.05 14:11 #1837064
    누리고에 사용자의 주문관리 부분이 있는데
    상품취소는 그 곳에서 이루워저야지 좋을 것 같습니다.

    상세페에지에서 취소를 할려면 상품이 많은 사이트에서는 주문을 한 상품을 다시 찾는 것도 불편함이 많을 것 같습니다.