モバイル判定
まず、モバイルかどうか判定します。
<?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(); } } ?>
とすることで、該当のページへ飛ばす事が出来ます。