XE에는 기본으로 불러오는 클래스 들이 많습니다. 그 중에 모바일 클래스를 조금 써봅니다.

파일 위치는 ./classes/mobile/Mobile.class.php 입니다.

이 파일에는 사용자가 접속한 장치가 어떤 장치인지 HTTP 헤더의 User-Agent 값으로 구분하는 내용이 들어있습니다. 한번 판단을 하고 나면, 효율성을 위해 쿠키에 정보를 저장해두고 이용하게 됩니다.

Mobile::isFromMobilePhone() 라는 메소드가 정의되어 있습니다. 외부에서 사용하기 가장 좋은 메소드입니다. 모든 정보를 이용해서 장치가 모바일 장비인지 확인하고, 어떤 양식의 페이지가 보여야 할 것인지 정합니다.
쿠키가 저장되어 있다면, 쿠키를 우선으로 확인하고, 쿠키가 없는 경우에는 HTTP 헤더에서 문자열을 확인해 확인합니다.

~~ByAgent 라고 정의된 메소드들은 모두 HTTP 헤더를 직접 확인하는 것들입니다.

isMobilePadCheckByAgent() 라는 것이 최근에 추가되었는데, 아이패드, 안드로이드 타블렛 등의 기기를 구분하기 위한 메소드입니다.

모바일 기기이면서도 화면이 상대적으로 넓기 때문에, 취향에 따라 다른 화면을 선택할 수 있게 도울 필요가 있다 판단했습니다. 그래서 이들 기기로 접속하면, 모바일 화면으로 이동할 수 있는 링크도 뜨지만, 기본 화면은 PC 용 화면이 뜨게 됩니다.

모듈, 애드온, 또는 스킨 개발자도 이를 이용할 수 있습니다. 클래스 모든 메소드는, 구분하려고 하는 대상이 맞으면 TRUE, 아니면 FALSE 를 반환합니다. (논리값)

setMobile 이라는 함수로, 장치를 강제로 모바일이나 PC로 정의할 수 있습니다.

유용한 클래스라고 생각합니다 :)


템플릿 코드에 적용하시려는 분이 많은 것 같아서 추가합니다.

모바일 모드 구분
1
2
<span cond="Mobile::isMobileCheckByAgent()">모바일모드입니다.</span>
<span cond="!Mobile::isMobileCheckByAgent()">모바일모드가 아닙니다.</span>
이런 식으로 사용하시면 됩니다.
  • 인기글
  • 최근글
  • 최근댓글