관리자 주문 내역 수정 상단 체크박스
본문
관리자>주문내역>개별 주문내역 수정에서 버그가 있는건지 확인차 올려봅니다.
현재 고객이 상품을 A,B,C 주문 완료를 하였을때 관리자 모드>주문내역 수정(/adm/orderform.php)을 들어가서 맨 상단 체크박스로 관리자 임의로 주문 상태를 변경하였을때 오류가 발생합니다..
예를 들어 A,B,C 모두 상태가 주문 상태라 하면,
A의 체크박스(옵션전체선택 체크박스) 를 선택 후 배송 버튼을 누르면 A상품만 상태가 주문에서 배송으로 변경이 됩니다.
하지만 B만 선택 후 주문/입금/준비~/품절 등 버튼을 누르면 A의 상태도 같이 일괄 변경됩니다.
(C의 상태는 그대로 주문상태.)
또한 C만 선택 후 주문/입금 등 버튼을 누르면 B의 상태는 그대로지만 A의 상태가 같이 C와 같은 상태로 변경됩니다.
이게 혹시 버그일까요? 아니면 해당 코드 부분이 문제인것같다면 어느 부분인지 알려주실 수 있을까요 ㅠㅠ..
orderform.php / orderformcartupdate.php부분을 봐도 어느부분에서 체크된 값을 가져오고 선택된 상품 하나하나의 상태 변경을 하는지 모르겠습니다..
답변 1
오... 버그네요
https://github.com/gnuboard/youngcart5/blob/master/adm/shop_admin/orderformcartupdate.php#L33
$i 가 0일때
$_POST['ct_chk'][$i] isset 되지 않았으면 $k 가 0을 받게끔 되어 있어서
결과적으로
$ct_id 는 (int) $_POST['ct_id'][0] 이 되어서
첫번째 체크박스도 무조건 상태변경을 하네요
버그 신고~
$k = isset($_POST['ct_chk'][$i]) ? (int) $_POST['ct_chk'][$i] : '';
이렇게 바꿔야 하나...