phpcms 自建php 模板,Phpcms V9自定义手机站栏目模板的方法

Phpcms V9对手机版的设置过于简单,只能自定义首页、频道页、栏目页、内容页四个模板。而不能针对某个栏目进行自定义模板的设置。在这里CMSYOU就给出一个方法,可以针对不同栏目设置不同的手机版模板,非常方便,修改也比较简单。

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);

}

以上代码是根据域名判断,给Phpcms v9添加自适配,调用不同目录的模板:判断当前页面url中第一个字符为m时则调用mobile目录模板,否则调用content目录模板。

由于Phpcms v9是调用网站URL方式,文章的URL地址都固定写死在数据表中,所以页面中的标签不能在使用{$r[url]},而要改成{str_replace(‘http://www.‘,‘http://m.‘,$r[url])},这样做到截取url,把http://www.你的域名/ 替换成http://m.你的域名/。

这里我们就完成了手机版的设置了,然后我们在制作一套手机端模板放在mobile目录就好了。

如果我们要在PC端的内容里面加上当前页面手机端的链接,链接地址写法如下:

http://{str_replace(‘www.‘,‘m.‘,$_SERVER[‘SERVER_NAME‘])}{$_SERVER[‘REQUEST_URI‘]}

反之,手机端加上PC端的链接:

http://{str_replace(‘m.‘,‘www.‘,$_SERVER[‘SERVER_NAME‘])}{$_SERVER[‘REQUEST_URI‘]}

如果你使用的是静态页面,那么只要在模板页头加上以下JS代码就可以实现判断手机端自动跳转到手机端了。

具体代码:

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();

}

以上内容,改编自axguowen,在此多谢!

PHPCMS V9自定义栏目伪静态实现方法如下: 1. 在 PHPCMS 的后台找到“栏目管理”并进入“修改栏目”页面,找到“栏目目录”一栏,将其改为英文名称,例如“news”。 2. 进入 PHPCMS 的后台,找到“系统设置”并进入“URL设置”页面,选择“伪静态模式”并将“扩展名”设为空,然后在“自定义规则”中添加以下规则: RewriteRule ^news/([0-9]+)/?$ index.php?m=content&c=index&a=lists&catid=$1 [L] RewriteRule ^news/index.html$ index.php?m=content&c=index&a=lists&catid=6 [L] 3. 在服务器上开启 Apache 的 mod_rewrite 模块,可以在 Apache 的配置文件(httpd.conf)中添加以下语句: LoadModule rewrite_module modules/mod_rewrite.so 4. 在 PHPCMS 的根目录下创建一个名为“.htaccess”的文件,并将以下代码复制到该文件中: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 5. 保存并上传“栏目目录”中的所有文件和文件夹。 6. 在浏览器中输入网地址加上“news/”,例如“http://example.com/news/”,即可访问自定义栏目的静态页面。 注意事项: 1. 请确保服务器已开启 mod_rewrite 模块,并在 Apache 的配置文件中添加了相应的语句。 2. 在修改“栏目目录”和“自定义规则”时,请确保它们的对应关系正确。 3. 如果您不熟悉 Apache 的配置和 mod_rewrite 模块的使用,请谨慎更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值