phpcms实现移动端和电脑端不同模板的方法
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,phpcms实现移动端和电脑端不同模板的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!phpcms实现移动端和电
千家信息网最后更新 2024年11月11日phpcms实现移动端和电脑端不同模板的方法
phpcms实现移动端和电脑端不同模板的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
phpcms实现移动端和电脑端不同模板
1、首先打开phpcms/libs/functions/global.func.php,在文件最后面加一个isMobile()方法,用来判断是否是手机端打开
function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信 if (isset($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile','MicroMessenger'); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false;}
2、然后打开phpcms/modules/content/index.php,有三个地方要改的
a)找到首页的init方法,在最后加载模板的时候,做一个判断,如果是手机端打开就加载手机端模板,如果是电脑端打开就加载电脑端模板
大概在31行找到:
include template('content','index',$default_style);
改成:
if(isMobile()){ include template('mobile','index',$default_style);}else{ include template('content','index',$default_style);}
b)找到内容页的show方法,同样在最后加载模板的时候做一个判断
大概在203行找到:
include template('content',$template);
改成:
if(isMobile()){ include template('mobile',$template);}else{ include template('content',$template);}
c)找到列表页的lists方法,同样在最后加载模板的时候做一个判断
大概在265行和278行,这里有两处,找到:
include template('content',$template);改成:if(isMobile()){ include template('mobile',$template);}else{ include template('content',$template);}
在你当前的模板目录下新建一个mobile目录,用来存放手机端模板
如果你当前的模板目录是phpcms/templates/default,那么你就在phpcms/templates/default下面建一个mobile目录。
如果你当前的模板目录是phpcms/templates/moban,那么你就在phpcms/templates/moban下面建一个mobile目录。
这样就可以实现电脑端和手机端分别加载不同的模板。
感谢各位的阅读!看完上述内容,你们对phpcms实现移动端和电脑端不同模板的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。
模板
电脑
移动
手机
方法
目录
内容
不同
设备
时候
支持
信息
文章
问题
三个
关键
关键字
兼容性
商会
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
每一台电脑都有数据库管理系统吗
嘉兴银行招聘软件开发
服务器端口的双向开通是什么意思
永达服务器操作
啥叫数据库本身被破坏
网络安全教育题库填空
ff14act怎么把数据库导出
iis7没有管理服务器
杭州计算机应用软件开发公司
虚拟主机独立数据库
数据库技术先后经历了
常熟市网络安全技能大赛
数据库设计属性
服务器数据库端口怎么进入
郑州腾讯云服务器价格
国外网络安全处理器
sql 删除数据库 语句
手机收到邮件无法连接服务器
公安网络安全管理大队职能
南邮网络技术与应用考试
网络安全三句半宣传视频
网络安全审查时间表
无线网覆盖服务器多少钱
个人想做单位的数据库维保
兰州中小学网络安全
腾讯灯塔数据库
软件开发cmmi级别
2012服务器系统关闭屏保
俄罗斯网络安全组织
h2内存数据库mysql