在如今无线互联网大潮的冲击下,越来越多的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站无任何影响的更多相关文章

  1. Bugku-CTF分析篇-手机热点(有一天皓宝宝没了流量只好手机来共享,顺便又从手机发了点小秘密到电脑,你能找到它吗?)

    手机热点 httppan.baidu.coms1cwwdVC 有一天皓宝宝没了流量只好手机来共享,顺便又从手机发了点小秘密到电脑,你能找到它吗? 题目来源:第七季极客大挑战  

  2. DEDEcms手机网站添加详情内页上一页/下一页的翻页功能

    修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...

  3. 手机网站支付如何接入支付宝简易版支付功能PHP版

    接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台  2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的 ...

  4. Laravel5.5 支付宝手机网站支付的教程

    https://segmentfault.com/a/1190000015559571 这篇文章主要介绍了Laravel5.5 支付宝手机网站支付的教程,小编觉得挺不错的,现在分享给大家,也给大家做个 ...

  5. 帝国cms制作手机网站

    1.操作前,我们需要先对网站数据库进行备份. 接下来我们添加手机站的模板组.点击"模板", 选择"模板组管理"中的"导入/导出模板组",然后 ...

  6. Asp.Net支付宝手机网站支付接口API之C#版

    一.准备工作 1.使用企业支付宝签约手机网站支付 2.下载支付宝官方demo 文档地址:https://doc.open.alipay.com/doc2/detail?treeId=60&ar ...

  7. 在laravel中使用支付宝手机网站支付 和 支付宝退款

    1.在蚂蚁金服开放平台中申请对应的应用,并根据提示进行签约 2.给对应的应用信息 生成私钥和公钥(私钥会保存在本地,公钥会放在对应的应用信息中) 3.下载手机网站支付 对应的php sdk 4.将sd ...

  8. Bootstrap手机网站开发案例

    Bootstrap手机网站开发案例 一.总结 一句话总结:Bootstrap手机网站开发注意事项(3点):a.引入viewpoint声明,b.通过屏幕宽动态控制元素显隐 c.图片添加自适应 1.Boo ...

  9. 支付宝PC即时到账和手机网站支付同步

    前几个月做了一个旅游网站,有PC站和手机站,涉及支付宝支付功能. 要求:PC站下的单,用户用手机登录也能支付;同理,手机站下的单,PC端登录也能支付. 附支付宝开放平台网址:即时到账 ,手机网站支付. ...

随机推荐

  1. Super-Resolution Restoration of MISR Images Using the UCL MAGiGAN System 超分辨率恢复

    作者是伦敦大学学院Mullard空间科学实验室成像组,之前做过对火星图像的分辨率增强. 文章用了许多的图像处理方法获得特征和高分辨率的中间结果,最后用一个生产对抗网络获得更好的高分辨率结果. 用的数据 ...

  2. python 中文路径问题

    Python直接读取中文路径的文件时失败,可做如下处理: inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt' uipath ...

  3. fsockopen函数被禁用的解决方法

    判断fsockopen 是否可用:function_exists('fsockopen');如果没有开启 一.开启fsockopen函数 修改php.ini,将 disable_functions = ...

  4. Applese 涂颜色(欧拉降幂)

    链接:https://ac.nowcoder.com/acm/contest/330/E 来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列 ...

  5. 页面布局常用,让子级div排排坐

    画页面的时候经常遇到页面布局的问题,父级div包裹多个子div很常见,代码如下: <div> <div style='width:100px;height: 100px;backgr ...

  6. Oracle 树形SQL语句,SYS_CONNECT_BY_PATH 函数

    转一个SYS_CONNECT_BY_PATH 函数的例子.推断原表应该是这样: Child                        Parent ------------------------ ...

  7. php数组·的方法3-数组和变量之间的转换

    /* * 数组和变量之间的转换 * */ //extract() 使用数组定义一组变量 // 键名为变量名 键值为变量值(类似于js的解构赋值) // 返回值是数组的长度 echo '<hr&g ...

  8. 【ACM】无聊的小明

    无聊的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述       这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突然对数的正 ...

  9. TypeScript -- JavaScript的救赎

    TypeScript的设计目的应该是解决JavaScript的"痛点":弱类型和没有命名空间,导致很难模块化,不适合开发大型程序.另外它还提供了一些语法糖来帮助大家更方便地实践面向 ...

  10. 数据结构---Java---LinkedList

    public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, D ...