dedecms网站扩展手机网站—共用数据库真正做到电脑手机同步访问,原pc站无需改动,对原pc站无任何影响
在如今无线互联网大潮的冲击下,越来越多的pc网站访问量下降,首当其冲的就是以pc网站为生的站长们,为了顺应无线互联网的要求,站长们很有必要为自己的pc网站扩展一套手机网站,更早的抓住手机用户的流量,使自己的网站更好的生存下去。看到这篇文章你应该感到庆幸,这儿会给你介绍一种最简单快速扩展手机网站的方法,对你正在运行的pc网站毫无影响。注意本文只针对利用dedecms系统建设的网站。
原dedecms系统优缺点分析:根据dedecms建站的思路,系统文件不变,改变网站模板就可以建一个新的网站,但是目前dedecms只支持一个数据库对应一套网站模板,系统自带的wap手机模板模式已经不忍直视,怎能满足目前的手机浏览时代。很多有追求的站长为了满足无线互联网大潮的需求,只能建两个网站,一个pc站一个手机站,并且同时维护两套数据相当麻烦,数据同步也很费劲。
dedecms扩展手机网站二次开发思路:这是我根据dedecms v5.7 扩展开发了手机网站系统,原pc网站系统不受影响,让一个数据库同时对应两套模板(一套pc模板和一套手机模板),当在pc端访问时,还是按原来的页面模板进行展示,但当在手机端访问时,通过判断访问设备为手机,系统自动调用手机模板进行展示,从而达到数据统一、模板分离的效果。无论客户用什么设备进行访问,网站总是以最合适、很友好的页面展示给顾客,从前增加网站的吸引力。
扩展手机网站原则: 在不改变原网站文件的前提下,仅增加(不删除、不改动)几个系统文件和一套手机模板(手机模板可以根据自己的需要随时更换)。
以下为在原pc网站的基础上扩展手机网站的步骤:
一、增加的系统文件列表:
1、plus 文件夹下面 增加 mlist.php 和 mview.php
(1)mlist.php 实现pc端和手机端“列表页面”的展现分离
(2)mview.php实现pc端和手机端“文章页面”的展现分离
2、include 文件夹下增加 arc.mobile.class.php 、arc.mobilelist.class.php 和 arc.mobilelistle.class.php
(1)arc.mobile.class.php 为手机模板增加的文档类
(2)arc.mobilelist.class.php 为手机模板增加的自由列表类
(3)arc.mobilelistle.class.php 为单表模型列表视图类
3、statics/js 文件下增加 mobileDetect.js ,该文件下的mobile_device_detect()方法用于检测是pc浏览还是手机浏览,如果是手机浏览会跳转到手机浏览模板路径。
二、增加手机模板文件方法:
1、templets/default 文件夹下放置手机模板文件,与pc端模板文件放在一个文件夹下,如果默认目录不是default请自行修改。
2、为了与同文件下的pc端模板文件区分,在手机模板文件名字前都加一个 ’m’ ;
3、为了保证pc端和手机端页面保持同步,主要的模板文件数量和命名要保证一一对应,但一些广告模板文件或其他的个性模板文件除外;
如:index.htm 对应 mindex.htm
list_article.htm 对应 mlist_article.htm
article_article.htm 对应 marticle_article.htm
head.htm 对应 mhead.htm
footer.htm 对应mfooter.htm 等等。
4、当然不能少了手机模板的样式、脚本和图片所在的文件夹 mstatics,可根据手机模板和自己网站的情况自行修改该文件的名字。
三、对“pc端模板”增加检测脚本
1、在 index.htm 文件中的<head></head>标签之间加入以下脚本文件
<!--引入手机浏览转换js开始-->
<script language="javascript" type="text/javascript" src="/statics/js/mobileDetect.js"></script>
<script>
mobile_device_detect("/mindex.html”);//这里设定的手机端的首页位置为 /mindex,html
</script>
<!--引入手机浏览转换js结束-->
2、在 list_article.htm文件(包括其他以list_开头的模板文件)中的<head></head>标签之间加入以下脚本文件
<!--引入手机浏览转换js开始-->
<script language="javascript" type="text/javascript" src="/statics/js/mobileDetect.js"></script>
<script>
mobile_device_detect("/plus/mlist.php?tid={dede:field.typeid/}");//这里设定的手机端的列表页面路径, tid动态 //获取,保证了pc端和手机端列表的同步性。
</script>
<!--引入手机浏览转换js结束-->
3、在 article_article.htm文件(包括其他以article_开头的模板文件)中的<head></head>标签之间加入以下脚本文件
<!--引入手机浏览转换js开始-->
<script language="javascript" type="text/javascript" src="/statics/js/mobileDetect.js"></script>
<script>
mobile_device_detect("/plus/mview.php?aid={dede:field.id/}"); //这里设定的手机端的文章页面路径,aid动态获取,保证了pc端和手机端文章的同步性。
</script>
<!--引入手机浏览转换js结束-->
四、网站更新的方法
1、网站列表和文章的生成方法:
看了第三个步骤,就能发现,手机端除了首页需要生成之外,列表和文章都是动态浏览的,无需更新生成;
所以每次更新网站栏目和文档时 就按原来更新pc端网站的方法即可。
2、网站首页生成方法:按先生成手机端首页再生成pc端首页的顺序生成;
(1)生成手机端首页:dedecms后台 生成—更新主页HTML—选择主页模板改为:default/mindex.htm;主页位置改为:../mindex.html;首页模式选 ‘生成静态’ — 更新主页HTML 完成。
(2)生成pc端首页:dedecms后台 生成—更新主页HTML—选择主页模板改为:default/index.htm;主页位置改为:../index.html;首页模式选 ‘生成静态’ — 更新主页HTML 完成。
经过以上四个步骤,所有的工作就完了,现在你就可以分别用pc和手机测试一下网站了。
演示网站地址: www.jieyan99.com (请分别用电脑和手机访问该网址 进行测试 或用手机扫描二维码访问,该演示网址可能被360误报,请放心访问)

网站首页

手机站首页

手机列表页头部

列表页显示菜单

手机列表页尾部

手机文章页头部

手机文章页尾部
dedecms网站扩展手机网站的系统文件请联系 qq :512075046 获取 (包指导安装),非诚勿扰!
dedecms网站扩展手机网站—共用数据库真正做到电脑手机同步访问,原pc站无需改动,对原pc站无任何影响的更多相关文章
- Bugku-CTF分析篇-手机热点(有一天皓宝宝没了流量只好手机来共享,顺便又从手机发了点小秘密到电脑,你能找到它吗?)
手机热点 httppan.baidu.coms1cwwdVC 有一天皓宝宝没了流量只好手机来共享,顺便又从手机发了点小秘密到电脑,你能找到它吗? 题目来源:第七季极客大挑战
- DEDEcms手机网站添加详情内页上一页/下一页的翻页功能
修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...
- 手机网站支付如何接入支付宝简易版支付功能PHP版
接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台 2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的 ...
- Laravel5.5 支付宝手机网站支付的教程
https://segmentfault.com/a/1190000015559571 这篇文章主要介绍了Laravel5.5 支付宝手机网站支付的教程,小编觉得挺不错的,现在分享给大家,也给大家做个 ...
- 帝国cms制作手机网站
1.操作前,我们需要先对网站数据库进行备份. 接下来我们添加手机站的模板组.点击"模板", 选择"模板组管理"中的"导入/导出模板组",然后 ...
- Asp.Net支付宝手机网站支付接口API之C#版
一.准备工作 1.使用企业支付宝签约手机网站支付 2.下载支付宝官方demo 文档地址:https://doc.open.alipay.com/doc2/detail?treeId=60&ar ...
- 在laravel中使用支付宝手机网站支付 和 支付宝退款
1.在蚂蚁金服开放平台中申请对应的应用,并根据提示进行签约 2.给对应的应用信息 生成私钥和公钥(私钥会保存在本地,公钥会放在对应的应用信息中) 3.下载手机网站支付 对应的php sdk 4.将sd ...
- Bootstrap手机网站开发案例
Bootstrap手机网站开发案例 一.总结 一句话总结:Bootstrap手机网站开发注意事项(3点):a.引入viewpoint声明,b.通过屏幕宽动态控制元素显隐 c.图片添加自适应 1.Boo ...
- 支付宝PC即时到账和手机网站支付同步
前几个月做了一个旅游网站,有PC站和手机站,涉及支付宝支付功能. 要求:PC站下的单,用户用手机登录也能支付;同理,手机站下的单,PC端登录也能支付. 附支付宝开放平台网址:即时到账 ,手机网站支付. ...
随机推荐
- 统计元音(stringstream的-应用)
Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output ...
- Nginx02---指令集实现静态文件服务器
location 实现静态服务器,就是root和alias命令,他们位于location文件块中,详细:https://www.jianshu.com/p/4be0d5882ec5 root root ...
- Windows中报错:Fatal error in launcher: Unable to create process using '"' 的解决方案
Windows 下同时存在 Python2 和 Python3 使用 pip 时系统报错:Fatal error in launcher: Unable to create process using ...
- (转)Selenium-11: Execute JavaScript with JavascriptExecutor
Outline Sometimes we cannot handle some conditions or problems with Webdriver, web controls don’t re ...
- Django2.0以上版本的URL的正则匹配问题
正则表达式形式的URL匹配问题: 1.导入re_path from django.urls import path,re_path 2.进行正则匹配 re_path('detail-(\d+).htm ...
- p标签text-align:justify以及CSS文字两端对齐
p标签样式添加text-align:justify; 那么就会左右对齐. 使用前: 使用后: CSS文字两端对齐 使用前: 代码: <style> div{ width:100px; he ...
- Go语言基础之6--map(字典)数据类型
一.map数据类型 1.1 声明和定义 map类型是一个key-value的数据结构,又叫字典.(map也是可以扩容的,内部自动扩容) 声明: var map1 map[keytype]valuety ...
- Day04 流程控制 while 和for循环
一.流程控制 if 判断 python中使用缩进来区分代码块的 语法 一: #python if 条件: 代码块1 代码块2 自上而下依次运行 语法二: # python if 条件一: 代码一 el ...
- Window 远程连接 Ubuntu 系统
安装XRDP 服务, 用windows远程连接ubuntu 1. Step 1 – Install xRDP sudo apt-get update sudo apt-get install xrdp ...
- 异地clone RAC数据库 +ASM USE RMAN
###sample 如何在本地生成数据库的备份,并复制到DG库新环境(高级) 1. 首先确定本地文件系统(存放备份集)足够大,可以使用如下语句查询当前数据库实际的使用总大小 Rman 备份进度: se ...