모바일이라면 if문(G5_IS_MOBILE) - 모바일일 때, PC일 때 함수 > 웹제작/운영

사이트 내 전체검색
[멀티검색] 먼저 왼쪽 검색창에 검색어를 입력하세요.
  • 네이버
  • 다음
  • 구글
  • 유튜브
  • 랜덤Go
[멀티검색] 먼저 왼쪽 검색창에 검색어를 입력하세요.
  • 네이버
  • 다음
  • 구글
  • 유튜브
  • 랜덤Go

웹제작/운영

그누보드 모바일이라면 if문(G5_IS_MOBILE) - 모바일일 때, PC일 때 함수

페이지 정보

profile_image
작성자 키스세븐
조회 958회 작성일 22-05-03 10:17

본문

G5_IS_MOBILE

모바일이라면 if문


홈페이지 제작 때 모바일인지 PC인지를 구분하는 방법은 CSS의 미디어쿼리가 있다.

그러나 접속 기기 자체를 구분해서 적용할 때, 그누보드의 경우 G5_IS_MOBILE를 사용한다. 그 예와 사용 방법을 설명한다.



모바일이라면 if문(G5_IS_MOBILE) - 모바일일 때, PC일 때 함수



반응형 if문 간단 설명


CSS의 경우 @media 쿼리로 자동으로 화면 크기를 바꿔준다. 

그런데 만약 화면 크기에 따른 기능 적용이 아니라, 접속기기에 따른 기능을 적용하려면 어떻게 해야 할까?


예를 들어, PC로 접속했으면 https://www.kiss7.kr로 링크를 주고, 모바일로 접속했으면 https://m.kiss7.kr로 링크를 주고 싶을 경우에 이런 함수를 사용한다.

그것은 바로 G5_IS_MOBILE다. 그누보드의 경우 기본 함수를 제공하므로 아래처럼 사용하기만 하면 된다.


단, 주의할 점이 있다.

이것은 PC버전과 모바일 버전을 따로 사용할 때만 사용이 가능하다.

만약 반응형 전용을 위해서 define('G5_USE_MOBILE', false); 가 적용되어 있다면 이 기능이 작동하지 않는다. 

 

http://www.kiss7.kr/siteblog/27

 

그럴 때는 위의 링크에 있는 방법을 사용해야 한다.



모바일이라면 if문


접속한 기기가 모바일인지를 감지해서 특정 기능을 실행하는 모바일 코드는 아래와 같다. 

[code]

<?php if (G5_IS_MOBILE) { ?>

   실행 코드 : 모바일일 경우의 코드

<?php } else { ?>

   실행 코드 : 모바일이 아닐 경우의 코드

<?php } ?>

[/code]



모바일이 아니라면 if문


그렇다면, 모바일이 아닌지를 감지하려면 어떻게 할까?

이것은 보통의 PHP구문 방법을 그대로 사용한다. 위의 if (G5_IS_MOBILE) 부분을 아래와 같이 수정하면 된다.

[code]

<?php if (!G5_IS_MOBILE) { ?>

[/code]


모바일 반응형 함수인 G5_IS_MOBILE 바로 앞에 ! 표시를 하면 "아니라면..."이라는 뜻의 if문이 된다. 

즉, PC일 경우에만 적용할 코드가 있다면 이 if문을 사용하면 된다는 말이다.



G5_IS_MOBILE 함수란


그누보드는 G5_IS_MOBILE 함수를 제공한다. 모바일일 때, PC일 때를 감지해서 그에 맞게 적용할 수 있기 위함이다. 


G5_IS_MOBILE의 정의는 루트 디렉토리에 있는 common.php에 들어 있다.

common.php에서 "G5_THEME_DEVICE 설정"라고 검색해 보면 아래와 같은 내용이 들어 있는 것을 볼 수 있다.


[code]

// 사용기기 설정

// 테마의 G5_THEME_DEVICE 설정에 따라 사용자 화면 제한됨

// 테마에 별도 설정이 없는 경우 config.php G5_SET_DEVICE 설정에 따라 사용자 화면 제한됨

// pc 설정 시 모바일 기기에서도 PC화면 보여짐

// mobile 설정 시 PC에서도 모바일화면 보여짐

// both 설정 시 접속 기기에 따른 화면 보여짐

//-------------------------------------------------

$is_mobile = false;

$set_device = true;


if(defined('G5_THEME_DEVICE') && G5_THEME_DEVICE != '') {

    switch(G5_THEME_DEVICE) {

        case 'pc':

            $is_mobile  = false;

            $set_device = false;

            break;

        case 'mobile':

            $is_mobile  = true;

            $set_device = false;

            break;

        default:

            break;

    }

}


if(defined('G5_SET_DEVICE') && $set_device) {

    switch(G5_SET_DEVICE) {

        case 'pc':

            $is_mobile  = false;

            $set_device = false;

            break;

        case 'mobile':

            $is_mobile  = true;

            $set_device = false;

            break;

        default:

            break;

    }

}

[/code]


위에서 보듯이 이 코드는 PC페이지, 모바일 페이지를 따로 운영할 때 사용하는 코드다. 

반응형 적용을 위해 통합으로 운영할 때는 적용되지 않는다. [저작권법 표시] 원본 출처 : 키스세븐(www.kiss7.kr)



이럴 때는 is_mobile()를 사용해야 한다. (위 링크 참고)

추천0
총 87개 (1Page)
  • RSS
웹제작/운영 목록
번호 제목 조회 추천 날짜
공지 공지 449 0 03-26
86 그누보드 297 0 02-25
85 그누보드 1265 0 10-17
84 SCRIPT 569 0 10-17
83 CSS 617 0 09-10
82 PHP 1083 0 08-26
81 PHP 644 0 08-21
80 기타활용 590 0 08-15
79 그누보드 1101 0 08-05
78 CSS 817 0 08-04
77 HTML 1516 0 07-24
76 그누보드 420 0 07-24
75 HTML 739 0 07-21
74 CSS 656 0 07-18
73 그누보드 618 0 07-09

검색


    허브사이트 "키스세븐"
    [허브사이트란?]
    수많은 사이트와 포털을
    한 번에 모아서
    사용할 수 있는 서비스를 말합니다.