반응형 쇼핑몰 제작시 결제폼 불러오기 부분
본문
영카트5로 쇼핑몰을 '반응형'으로 제작시 헷갈리는 부분이 있어서 조언 구합니다.
반응형 코딩시
일단 모바일설정을 사용하지 않기 위한 처리를 해도
쇼핑몰로 주문시 모바일로 테스트를 하면 PC와는 다른 폼이 불려와지더라구요
그냥 모든기기에서 PC화면 폼으로 사용하게 해야 관리도 편할것 같아서
1. /config,php 에서 'false' 로 설정
define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
2. /shop/orderform.php 의 '기기별 주문폼 include' 부분 교체
// 기기별 주문폼 include
if($is_mobile_order) {
//$order_action_url = G5_HTTPS_MSHOP_URL.'/orderformupdate.php';
//require_once(G5_MSHOP_PATH.'/orderform.sub.php');
$order_action_url = G5_HTTPS_SHOP_URL.'/orderformupdate.php';
require_once(G5_SHOP_PATH.'/orderform.sub.php');
} else {......
이렇게만 처리하고 디비 찍어보니까 잘 찍히는데
제가 모르는 바꿔주어야할 뭔가가 더 있나요?
답변 3
반응형 작업시에 모든페이지에
define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
적용된 상태이므로 모바일은 제외되었기 때문에
별도로 한개더 만들어서 작성해 봤습니다.
/SHOP/orderform.php 에서 추가해주시면 정상적으로 작동될듯 합니다.
즉 모바일에서 결제시 모바일 폼을 뜨게만 수정한 것입니다.
아래 코드 처럼 수정하게 되면 모바일에서는 모바일 결제가 별도로 나오게 됩니다.
// 희망배송일 지정
if ($default['de_hope_date_use']) {
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
}
// 모바일체크
$Agents = array("iPhone","iPod","Android","Blackberry",
"Opera Mini", "Windows ce", "Nokia", "sony" );
$checkmobile = false;
for($i=0; $i<sizeof($Agents); $i++){
if(stripos( $_SERVER['HTTP_USER_AGENT'], $Agents[$i] )){
$checkmobile = true;
break;
}
}
if($checkmobile) {
$order_action_url = G5_HTTPS_MSHOP_URL.'/orderformupdate.php';
require_once(G5_MSHOP_PATH.'/orderform.sub.php');
}else{
$order_action_url = G5_HTTPS_SHOP_URL.'/orderformupdate.php';
require_once(G5_SHOP_PATH.'/orderform.sub.php');
}
/*
// 기기별 주문폼 include
if($is_mobile_order) {
$order_action_url = G5_HTTPS_MSHOP_URL.'/orderformupdate.php';
require_once(G5_MSHOP_PATH.'/orderform.sub.php');
} else {
$order_action_url = G5_HTTPS_SHOP_URL.'/orderformupdate.php';
require_once(G5_SHOP_PATH.'/orderform.sub.php');
}
*/
저 같은경우그누보드의 경우 1번처럼 모바일만 바뀌지 않게 해놓고
그대로 반응형 작업을 합니다.
특별한 설정은 1번정도면 충분한것 같습니다.
그외에는 css 나 미디어쿼리를 이용하여 반응형 작업을 마무리 하게 됩니다.
모바일은 결제 방식이 PC와 다르기 때문에 그렇게 하시면 모바일에서 결제가 안됩니다.