채택완료

테마 적용 후 게시판 스킨이 mobile 스킨만을 불러오는 경우

2018-02-27 (화) 18:30:44 2,333

미디어 쿼리를 사용하지 않고  접속기기가 PC라면 기본 경로 스킨을 , mobile이라면 모바일 경로 스킨을 불러오게 하려고 합니다.

테마를 적용하지 않은 그누보드 기본 상태에서는 제대로 불러오는데 영카트 스킨중 everyday 스킨을 적용하면 접속한 기기가 PC, 모바일 인지 구별안하고 무조건 모바일 스킨만이 적용 되고 있습니다.

관련해서 검색해보았더니 일부 테마중 모바일을 디폴트로 고정하는 테마가 있다는 글을 보고 config.php, common.php를 확인 해보아도 해결이 안되네요.. 

common.php에서 $_REQUEST['device']=='pc'을 통해 PC인지 모바일인지 구별하는 것으로 이해 했는데 아닌건가요?

아니면 다른 방법으로 PC , 모바일 일때 각각 다른 스킨을 불러오는 방법이 있나요? 

아래는 설정값입니다.

관리자 페이지 설정값

1890005776_1519720492.2212.png

1890005776_1519723664.4858.png

config.php 

Copy
define('G5_SET_DEVICE', 'both');

define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
define('G5_USE_CACHE',  true); // 최신글등에 cache 기능 사용 여부

common.php

Copy
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;
}

$_SESSION['ss_is_mobile'] = $is_mobile;

 

//상단의 if을 못도는 것인가 싶어서 다시 호출 

if($_REQUEST['device']=='pc'){
    $is_mobile =false;
}

/* 이렇게 사용하면 자유게시판일 때 강제적으로 pc 버전만 불러오는 것은 가능합니다.

if($bo_table=="free"){

   $is_mobile=false;

}

*/
define('G5_IS_MOBILE', $is_mobile);
|

답변 1개 / 댓글 5개

채택된 답변
+20 포인트

테마 폴더에도 설정 파일이 있습니다.

theme.config.php

여기서 모바일로 설정되어 있으면 빈 값으로 두세요.

define('G5_THEME_DEVICE', '');

답변에 대한 댓글 5개

답변 감사합니다 .

방금 이전에 다른글에 달아주신 글을 보고 이 방법을 적용해봤지만 그대로 입니다.

다만 추가적으로 url 위에 ?bo_table=free?device=pc 을 주어 강제로 넘어가라고 하신게 있어 해보니 존재하지 않는 게시판이라고 나오는데 짐작가시는게 있으신가요?
?bo_table=free?device=pc
이게 아니라 이렇게 해야 합니다.
?bo_table=free&device=pc
참고로 ?device=pc 이렇게 앞에 ? 를 붙이라고 하는 건
게시판 주소가 아니라 도메인 옆에 바로 붙일 때 넣는 겁니다.
게시판일 때는 주소 끝에 &를 넣어야 합니다.
해결되었습니다 ㅜㅜ 알려주신 방법이 맞고 캐시 문제였네요
정말감사합니다

답변을 작성하려면 로그인이 필요합니다.