phpcms手机版官方并没有出更多的办法,不过实现起来挺容易的,网上比较多的是对基础的手机版进行修改,但其实这样很不灵活,铬元素比较推荐使用双模版办法解决问题。
下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为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中第一个字符为m时则调用content_m模板,否则调用content模板
但是由于phpcms把文章的url都固定写死在数据表中,所以页面中的标签不能在使用{$r[url]}
而要改成{str_replace(‘http://www.’,’http://m.’,$r[url])}
意思是截取url,把http://www.你的域名/ 替换成http://m.你的域名/
这里我们就完成了手机版的设置了,然后我们在制作一套手机端模板content_m就可以了。
如果我们要在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代码就可以实现判断手机端自动跳转到手机端了。
<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>
常见问题
所有的素材与插件都可以用吗?
本站所有的素材与插件(包括免费的),都是本工作室用过的,测试过的,或者二开修改过的,理论上来说没有什么bug,但不保证在所有环境下都可以完美运行。
收费素材与免费素材怎么定义的
本站收费的素材,也是及其便宜的,其实就是收个打赏钱,是工作室对这些插件的测试,整理,修复,优化的辛苦钱,并非开发插件的费用,原创插件或者模版收费稍贵一些。
出现问题了怎么办?
由于收费非常低,大部分都不超10元,所以并不提供售后服务,但您如果需要,可以联系我付费咨询,费用为50元/次/小时。如果是原创模版或者插件,可以免费为您指导。
原文链接:https://www.52gys.cn/3710.html,转载请注明出处。
评论0