특정 페이지주소/노드번호/컨텐츠타입/언어 등의 조건에 따라 테마를 다르게 보여주는 ThemeKey 모듈

특정 페이지주소/노드번호/컨텐츠타입/언어 등의 조건에 따라 테마를 다르게 보여주는 ThemeKey 모듈

왜 이제야 소개하는지...

특정 카테고리에 따라 테마를 다르게 보여주는 건 Taxonomy Theme 모듈이 있다.

하지만 한계가 많은데 지금 소개할 ThemeKey 모듈은 거의 모든 한계를 뛰어 넘었다.
http://drupal.org/project/themekey

모듈을 설치/활성화하고 나면, 관리화면에 있는 ThemeKey 설정에서
New Rule을 다양하게 지정할 수 있다. 아래와 같은 조건 설정이 가능하다.

drupal:get_q 특정 파라미터별
drupal:path 특정 주소별
drupal:path:wildcard * (와일드 카드)에 의한 지정
locale:language (브라우저?) 언어별
node:changed
node:changed_date 갱신시간별
node:changed_date_time
node:created
node:created_date 생성시간별
node:created_date_time
node:language 노드 언어별
node:nid 특정 노드별
node:promote
node:sticky
node:title 특정 타이틀별
node:type 특정 컨텐츠 타입별
node:uid 특정 작성자별
system:host
taxonomy:tid
taxonomy:tid_and_childs
taxonomy:vid
user:hostname
user:language 유저 지정 언어별
user:name 유저명별
user:uid 특정 유저ID별

자, 이 정도면 거의 완벽하지 않은가.
게다가 위 조건들에 대해 비교연산, 부분검색 등도 지원된다.

이제 하나의 드루팔 사이트에서도 조건별로 여러 테마를 자유롭게 보여주자.

* 참고 : drupal_bootstrap를 이용해서 테마없이 노드 컨트롤 하는 예제도 좋다.
http://stackoverflow.com/questions/247991/displaying-a-drupal-view-witho...

* 추가 정보!

모바일 단말기로부터의 접근을 알아내는 방법은, MobileKey 모듈을 설치/활성화하면 된다.

http://drupal.org/project/mobilekey

이 모듈은 테마키 모듈과 완벽하게 연동하는데, 설치/활성화한 후에 테마키 모듈의 설정화면에 가 보면, mobile:device 항목이 추가돼 있다.

특정 단말기만을 대상으로 특정 테마(특히 모바일 테마)를 보여주고 싶다면,

Administer » Site configuration » ThemeKey
에서 "mobile:device"를 "=" or "!"로 선택한 후, 항목 값으로는 아래 단말기 문자열을 선택해 주면 된다.(2011년 12월 기준)

desktop
mobile
ipod
iphone
android
opera_mini
blackberry

참고로, 2011년 12월 기준으로 아래와 같이 많은 모바일 전용 테마가 있으나 추천하는 것은 "a-cloudy-day-mobile" 모바일 테마다.

a-cloudy-day-mobile-6.x-2.0.tar.gz
adaptivetheme_mobile-6.x-1.0-beta2.tar.gz
fusion_mobile-6.x-1.0-beta1.tar.gz
iwebkit-6.x-2.2.tar.gz
mobile_garland-6.x-1.1.tar.gz
mobilekey-6.x-1.x-dev.tar.gz
nokia_mobile-6.x-1.3.tar.gz

Your rating: None 평균 : 5 (1 vote)

댓글

mobile key를 추가로 이용하는

mobile key를 추가로 이용하는 경우에는,

mobile:device =

desktop

mobile

iphone
ipod
android

등의 세분화도 가능하다.