모바일버전과 반응형 별도 운영
본문
현재 사이트가 반응형으로 작업이 돼있는데
모바일기기로 접속했을 경우 모바일버전이 뜹니다.
그래서 config.php 파일에서 모바일 홈페이지 사용을 false 로 변경했더니
모바일버전은 별도로 실행이 되지 않더군요.
define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
모바일기기의 브라우저에서는 모바일버전이 아닌 반응형으로 작업된 pc버전이 뜨고
모바일버전은 별도로 앱을 구동 시켰을때만 사용하려고 합니다.
쉽게 말해,
모든 기기의 브라우저 - pc버전
모바일앱(하이브리드앱) - 모바일버전
이렇게 실행시키고 싶은데 방법이 있을까요?
아니면 앱에서도 pc버전으로 구동시켜도 무관한가요?
!-->답변 4
/common.php 중
//==============================================================================
// Mobile 모바일 설정
// 쿠키에 저장된 값이 모바일이라면 브라우저 상관없이 모바일로 실행
// 그렇지 않다면 브라우저의 HTTP_USER_AGENT 에 따라 모바일 결정
// G5_MOBILE_AGENT : config.php 에서 선언
//------------------------------------------------------------------------------
if (G5_USE_MOBILE && $set_device) {
if ($_REQUEST['device']=='pc')
$is_mobile = false;
else if ($_REQUEST['device']=='mobile')
$is_mobile = true;
else if (isset($_SESSION['ss_is_mobile']))
$is_mobile = $_SESSION['ss_is_mobile'];
else if (is_mobile())
$is_mobile = true;
} else {
$set_device = false;
}
위 부분을
if (G5_USE_MOBILE && $set_device) {
if ($_REQUEST['device']=='pc')
$is_mobile = false;
else if ($_REQUEST['device']=='mobile')
$is_mobile = true;
else if (isset($_SESSION['ss_is_mobile']))
$is_mobile = $_SESSION['ss_is_mobile'];
else if (is_mobile())
$is_mobile = true;
}elseif($_REQUEST['device']=='app' || isset($_SESSION['ss_is_app']) ){
$is_mobile = true;
$_SESSION['ss_is_app'] = true;
} else {
$set_device = false;
}
위 처럼 app 여부 조건 문 넣으시고
앱에서 홈페이지 호출하실 때
으로 호출하시기 바랍니다.
!-->!-->
반응형으로 만드셨다면 구지 모바일 피시 버전을 구분하실 필요가 없습니다.
저같은경우는 모바일이든 피시든간에 어느한쪽에 작업해놓고. 작업안 부분만 사용하도록 합니다.
가령 반응형으로 PC쪽에 맞춰서 작업했을경우
define('G5_SET_DEVICE', 'both'); 값을 PC로 변경합니다.
쉽게 설명하자면 반응형은 구지 따로 나눌려고 하실 필요가없습니다.
모든브라우저를 pc버전만 나오게할려면 우선 반응형모드를 푸시면 PC버전만보일테고
만약 앱일경우 따로폴더를 만들어서 거긴 현재상태로 냅두고 연결만하면될듯합니다.
앱에서 url을 걸때 ?from_url=app
라고 변수처리해서
if($from_url=='app' || $_SESSION['from_url'] == true)
{
$_SESSION['from_url'] =true;
define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
}else {
define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
}
혹은 $is_mobile= true; 라고 해서 사용했었던 기억이 납니다.
function is_mobile(){
}
이 함수에서 $is_mobile을 상황에 맞게 처리해도 됩니다.
아니면 모바일에 사용할 도메인은 moble.test.com 이런식으로 도메인을 하나더 연결해서 사용하면 될것같은데, 도메인 체킹하는 pg사나 본인인증은 도메인 틀리다고 구동 안될수도 있을것 같네요