묻고답하기
누리고 쇼핑몰 비회원 구매 질문입니다.
2015.10.05 18:02
1. 비회원 구매가 가능하게 하고싶어서 설정 중입니다.
그런데 문제가 생겨서요.. 비회원으로 구매할 시에 아래와 같은 주문완료창이 떠야되는데..
권한이 없다고 뜹니다. 이 부분은 어떻게 해결 해야 하나요? 권한 문제인것은 알지만 메뉴의 권한도 모두에게 공개되어있고.. 그 외 장바구니 모듈자체는 권한 설정을 하는 곳이 없었습니다.
2. 그리고 비회원의 경우 자신이 입력한 비밀번호와 주문번호를 알아야 내역 확인이 가능한데.. 주문번호를 알려주지를 않더라구요. 아니 애초에 주문완료 창이 권한문제로 뜨지를 않기에.. 주문번호를 알려주는지도 확인이 불가능합니다 ㅠㅠ
도와주세요..ㅠㅠ 부탁드립니다.
---- 장바구니 모듈에서 주문완료 부분 소스?ncart.view.php 를 가져왔습니다만 ㅠㅠ 여기서 어떻게 수정해야 비회원도 확인이 가능하게 되나요? 여기가 맞는지도 확실치능 낳지만 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
function dispNcartOrderComplete()
{
$oNcartModel = &getModel('ncart');
$oEpayModel = &getModel('epay');
$logged_info = Context::get('logged_info');
$order_srl = Context::get('order_srl');
if (!$order_srl) return new Object(-1, 'msg_invalid_request');
// 주문정보 읽어오기
$order_info = $oNcartModel->getOrderInfo($order_srl);
if(!$order_info) return new Object(-1, 'msg_invalid_order_number');
Context::set('order_info', $order_info);
$extra_vars = unserialize($order_info->extra_vars);
// 주문한 사람이 아니라면
if($order_info->member_srl != $logged_info->member_srl) return new Object(-1, 'msg_not_permitted');
// 로그인 안했을 때 권한 확인 : triggerProcessPayment 에서 설정된다.
if(!$logged_info && $_SESSION['ORDER_COMPLETE_VIEW_PERMISSION'] != $order_srl) return new Object(-1, 'msg_not_permitted');
$payment_info = $oEpayModel->getTransactionByOrderSrl($order_srl);
Context::set('payment_info',$payment_info);
// fieldset
$fieldset_list = $oNcartModel->getFieldSetList($this->module_info->module_srl);
foreach($fieldset_list as $key=>&$val)
{
foreach($val->fields as $key2=>&$field)
{
if(isset($extra_vars->{$field->column_name}))
{
$field->value = $extra_vars->{$field->column_name};
}
}
}
Context::set('fieldset_list', $fieldset_list);
Context::set('order_status', $this->getOrderStatus());
$oNmileageModel = &getModel('nmileage');
$mileage_config = $oNmileageModel->getModuleConfig();
Context::set('mileage_flag', $mileage_config->use_flag);
$this->setTemplateFile('ordercomplete');
}
function dispNcartOrderDetail()
{
$oFileModel = &getModel('file');
$oEpayModel = &getModel('epay');
$oNcartModel = &getModel('ncart');
$logged_info = Context::get('logged_info');
// 주문번호가 없다면
if(!Context::get('order_srl')) return new Object(-1, 'msg_invalid_order_number');
$order_srl = Context::get('order_srl');
$order_info = $oNcartModel->getOrderInfo($order_srl);
// 주문정보가 없다면
if(!$order_info) return new Object(-1, 'msg_invalid_order_number');
// 로그인이 되어 있지 않다면
if(!$logged_info) return new Object(-1, 'msg_not_permitted');
// 주문한 사람이 아니라면
if($order_info->member_srl != $logged_info->member_srl) return new Object(-1, 'msg_not_permitted');
Context::set('order_info', $order_info);
Context::set('order_status', $this->getOrderStatus());
$payment_info = $oEpayModel->getTransactionByOrderSrl($order_srl);
Context::set('payment_info',$payment_info);
Context::set('payment_method',$this->getPaymentMethods());
Context::set('delivery_inquiry_urls', $this->delivery_inquiry_urls);
Context::set('delivery_companies', $oNcartModel->getDeliveryCompanies());
Context::set('soldout_process', $this->soldout_process);
$this->setTemplateFile('orderdetail');
}
댓글 3
-
treasurej
2015.10.06 14:31
-
뵤로뤙
2015.10.06 15:39
감사합니다 해결됐어요 ㅠㅠㅠㅠㅠㅠㅠ
-
이수호
2016.05.01 07:16
감사합니다.
저도 해결되었습니다.
여기를 확인해 보세요~
https://github.com/nurigo/xe-module-ncart/issues