Phpcms V9對手機版的設(shè)置過于簡單,只能自定義首頁、頻道頁、欄目頁、內(nèi)容頁四個模板。而不能針對某個欄目進(jìn)行自定義模板的設(shè)置。在這里CMSYOU就給出一個方法,可以針對不同欄目設(shè)置不同的手機版模板,非常方便,修改也比較簡單。
Phpcms V9自定義手機WAP模板新方法具體開始:
1、修改/modules/content/index.php文件,在里面找到如下代碼:
include template(‘content‘,$template);
修改為:
if(substr($_SERVER[‘SERVER_NAME‘], 0,1) == ‘m‘){
include template(‘mobile‘,$template);
}else{
include template(‘content‘,$template);
}
以上代碼是根據(jù)域名判斷,給Phpcms v9添加自適配,調(diào)用不同目錄的模板:判斷當(dāng)前頁面url中第一個字符為m時則調(diào)用mobile目錄模板,否則調(diào)用content目錄模板。
由于Phpcms v9是調(diào)用網(wǎng)站URL方式,文章的URL地址都固定寫死在數(shù)據(jù)表中,所以頁面中的標(biāo)簽不能在使用{$r[url]},而要改成{str_replace(‘http://www.‘,‘http://m.‘,$r[url])},這樣做到截取url,把http://www.你的域名/ 替換成http://m.你的域名/。
這里我們就完成了手機版的設(shè)置了,然后我們在制作一套手機端模板放在mobile目錄就好了。
如果我們要在PC端的內(nèi)容里面加上當(dāng)前頁面手機端的鏈接,鏈接地址寫法如下:
http://{str_replace(‘www.‘,‘m.‘,$_SERVER[‘SERVER_NAME‘])}{$_SERVER[‘REQUEST_URI‘]}
反之,手機端加上PC端的鏈接:
http://{str_replace(‘m.‘,‘www.‘,$_SERVER[‘SERVER_NAME‘])}{$_SERVER[‘REQUEST_URI‘]}
如果你使用的是靜態(tài)頁面,那么只要在模板頁頭加上以下JS代碼就可以實現(xiàn)判斷手機端自動跳轉(zhuǎn)到手機端了。
具體代碼:
<script type="text/javascript">
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
{if $catid==‘‘ and $id==‘‘}
window.location.href="{APP_PATH}/index.php";
{elseif $id==‘‘ and $catid!=‘‘}
window.location.href="{APP_PATH}/index.php?m=content&c=index&a=lists&catid={$catid}";
{else}
window.location.href="{APP_PATH}/index.php?m=content&c=index&a=show&catid={$catid}&id={$id}";
{/if}
}
}
browserRedirect();
function closewindow() {
$("#register-box").hide();
}
function openwindow() {
$("#register-box").show();
}
</script>
以上內(nèi)容,改編自axguowen,在此多謝!