モバイル判定
まず、モバイルかどうか判定します。
<?php
/**
* [is_mobile]
* @return boolean
*/
function is_mobile () {
$useragents = array(
'iPhone', // Apple iPhone
'iPod', // Apple iPod touch
'Android', // 1.5+ Android
'dream', // Pre 1.5 Android
'CUPCAKE', // 1.5+ Android
'blackberry9500', // Storm
'blackberry9530', // Storm
'blackberry9520', // Storm v2
'blackberry9550', // Storm v2
'blackberry9800', // Torch
'webOS', // Palm Pre Experimental
'incognito', // Other iPhone browser
'webmate' // Other iPhone browser
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
?>
で、モバイルの場合はtrueが返ってくるので様々な場面で使えると思います。
テンプレートの変更
上記の『is_mobile』を使用します。
jQueryMobileは一つのページで展開するのでハッシュをつけてページを返します。
<?php
if (is_mobile()) {
$path = $_SERVER['REQUEST_URI'];
if($path === '/'){
include (TEMPLATEPATH . '/smartphone/page.php');
exit();
}else{
$uri = substr($path, 1, strlen($path)-2);
header('Location: http://test.com/#'.$uri);
exit();
}
}
?>
とすることで、該当のページへ飛ばす事が出来ます。
