農場主の日常

なんちゃってエンジニアの日常をつらづらと

携帯サイトへの対応など

 さて、Nucleusを使ってちょっと本格的にモバイルサイトへの対応を考える。
 Nucleusのプラグインには、NP_Moblieというプラグインがある。これ、アクセスしてきたUAを判別し、携帯電話ならば
  • 文字コードをSJIS
  • スキンを携帯電話ように
  • 本文中のタグを一部残して除去
  • 本文の文字数を制限
  • 携帯電話用のURLにリダイレクト
 なんてことをやっている。リダイレクトをしないようにするなら、NP_MobileWithSinglePageを使う。こちらも似ているが、リダイレクトせずにスキンだけを入れ替えるのが異なる。

 基本NP_MoblieWithSinglePageを使って表示。だけれど、最初にHeaderで宣言を追加しておく必要があるようだ。
 そういうわけで、
function event_PreSkinParseに、 // header送信
header('Content-Type: application/xhtml+xml; charset=Shift_JIS');
header("Pragma: no-cache");
echo '<?xml version="1.0" encoding="Shift_JIS"?>';
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
 のように、Docutypeの宣言を追加。また、携帯電話の場合に表示の変更が必要なプラグインには、
function MobileUA() {
global $CONF;

$ua = serverVar('HTTP_USER_AGENT');
$isMobile = (
preg_match('/DoCoMo|J\-PHONE|UP\.Browser|KDDI\-|Vodafone|SoftBank/i', $ua) &&
!$CONF['UsingAdminArea']
);
return $isMobile;
}
 という、携帯を判別するためのファンクションを追加。
 これで一通りの携帯対応が終了。なんとか色つきで見られるサイトができた。


関連記事[携帯サイト

前後の記事 - [Nucleus]::タイトル一覧

コメント


コメントはありません。



コメントの追加


トラックバック

このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。

↑ PAGE TOP