1. 程式人生 > >使用TP5框架 根據訪問終端的不同(pc和mobile)載入不同的模板

使用TP5框架 根據訪問終端的不同(pc和mobile)載入不同的模板

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'   => '}',
    ],