使用TP5框架 根據訪問終端的不同(pc和mobile)載入不同的模板
阿新 • • 發佈:2019-01-09
1.定義判斷終端的方法(這裡使用的TP自身的方法),由於尚未載入TP的核心檔案, 所以不能呼叫 tp自身的ismobile 。
//這裡應用的TP5自身的判斷方法; function isMobile() { if (isset($_SERVER['HTTP_VIA']) && stristr($_SERVER['HTTP_VIA'], "wap")) { return true; } elseif (isset($_SERVER['HTTP_ACCEPT']) && strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML")) { return true; } elseif (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) { return true; } elseif (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])) { return true; } else { return false; } }
2. 在入口檔案中判斷是pc還是Mobile,根據判斷結果定義不同的檢視view_path;
include '../application/common.php';
if(isMobile()){
define('VIEW_PATH','./template/mobile/');
}else{
define('VIEW_PATH','./template/pc/');
}
3.在config中, 定義view_path;
'template' => [ // 模板引擎型別 支援 php think 支援擴充套件 'type' => 'Think', // 模板路徑 'view_path' => VIEW_PATH, //定義view_path; // 模板字尾 'view_suffix' => 'html', // 模板檔名分隔符 'view_depr' => DS, // 模板引擎普通標籤開始標記 'tpl_begin' => '{', // 模板引擎普通標籤結束標記 'tpl_end' => '}', // 標籤庫標籤開始標記 'taglib_begin' => '{', // 標籤庫標籤結束標記 'taglib_end' => '}', ],