移動互聯(lián)網越來越興起了!
現(xiàn)在大多網站都要開始適配移動版的網頁了
例如,大部分人做站,希望電腦版為http://www.,手機版為http://m.
但是,總不能為了移動版.專門做一套站吧!
接下來就附上,phpcms中.自適配的代碼.
首先,源文件里 modules/content/index.php
把 include template('content',$template);
改為
if(substr($_SERVER['SERVER_NAME'], 0,1) == 'm'){
include template('content_m',$template);
}else{
include template('content',$template);
}
以上代碼的意思,當前頁面url中.如果url中,第一個字符為m,則調用content_m模板,否則調用 content 模板
接著,就是一個問題.
由于 phpcms 把文章的url都固定寫死在數(shù)據(jù)表中.所以,頁面中的標簽不能在使用{$r[url]}
而要改成{str_replace('http://www.','http://m.',$r[url])}
意思是,截取url,把http://www.替換成http://m.
到這里.就完成了手機版的配置了.在配套制作模板,就OK了!
附:
如果要在電腦版的網頁上,加上當前頁面手機版的鏈接
鏈接地址應該為:
http://{str_replace('www.','m.',$_SERVER['SERVER_NAME'])}{$_SERVER['REQUEST_URI']}
反之.手機版上,加上電腦版的鏈接
http://{str_replace('m.','www.',$_SERVER['SERVER_NAME'])}{$_SERVER['REQUEST_URI']}
當然,如果電腦版上.把網址鏈接改成二維碼,那是最好的.
有了鏈接,.二維碼還會難?
如果你是生成靜態(tài)頁面的.那么只要在頁頭加上以下JS代碼.就可以搞定了
<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>
|