Mobile用テーマへの切り換えリンク

Last edited on 2012/08/13 (月) - 14:01

[追記] アクセスする端末に応じたテーマの切換については、SwitchTheme をやめて Mobile Tools を使うことにしました。

Android端末を使い始めてから自分では Mobile用のテーマは必要ないのだが、いちおうこのサイトではブラウザのUAを見てモバイル用のテーマに切り替わるようになっている。そのために、MobileTheme というモジュールを使っていたのだが、 これを SwitchTheme というモジュールに切り替えた。

SwitchTheme を使うと、有効になっているテーマをユーザが切り替えて使えるようになる。テーマ切り換え用のブロックメニューを作りサイドバーなどに置くのが通常の使い方のようだ。ここでは、Mobile用 と PC用を切り換えるだけなので、ブロックメニューではなく画面の一番下に切り換え用リンクを置くことにした。

PC用テーマで見ているときは、Mobile用テーマへの切り換えリンクが現れ、逆に Mobile用テーマで見ているときはPC用テーマへの切り換えリンクが現れる。

通常のモジュールと同じようにインストールし、ユーザ権限の設定を行って匿名ユーザでも切り替え機能を使えるようにする。

次に、PC用テーマとMobile用テーマのそれぞれで互いに相手に切り換えるためのリンクを表示してやればよい。SwichThemeを有効にしていると URL に '?theme=' を付加することでテーマを切り換えることができる。この機能を利用するために template.php に以下の関数を入れた。

function nyanchew_preprocess_page(&$vars, $hook) {
$vars['footer_message'] = l('Change to Mobile theme', $_GET['q'], array('query' => 'theme=mobile')$
}

ここでは footer に ’Change to Mobile theme' という文字列でモバイルテーマへの切り換えリンクを表示している。

さらに、SwitchThemeはBrowsecap モジュールと連動し、ブラウザのUAを見てテーマを指定することもできるので、DoCoMo、KDDI、NetFrontといったブラウザはMobile用テーマで表示するようにしてみている。