phpcms实现移动端和电脑端不同模板的方法
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,phpcms实现移动端和电脑端不同模板的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!phpcms实现移动端和电
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
网络安全伪造文件
网易最卡顿服务器
hp服务器售后新华三
分布式数据库的数据特点
软件开发是属于电子吗
如何创建图书特色资源数据库
智能路灯项目数据库
广东省高考评卷老师数据库
网络安全工程师报班就业
软件开发 什么越老越吃香
自动化软件开发项目
服务器怎么配置网站
jmeter计划放服务器执行
如何禁用代理服务器
兴县网络安全吗
微服务放在不同的服务器上吗
数据库表结构的名字怎么改
软件开发和学历
网络安全相关的法律法规
服务器排名2015年
网络安全oem代工厂
网络安全的重要性案例
公务员要求的计算机网络技术
华为桌面云VRM服务器
郴州市电脑软件开发工资多少
密室逃脱用什么软件开发
网络安全防疫方面
光遇服务器满人怎么进去
计算机网络安全及实例论文
成都平台软件开发定制