因为最近一直在折腾织梦的程序,整理了一下已经做的优化。
一、移动端插件
目前移动互联已经是个大趋势,移动端入口流量越来越多了。因此网站的移动设置是必须的。织梦由于官方的问题,移动端只有wap版本。好在近期有网友发布的织梦的移动化插件。方便大家为自己的使用织梦程序的网站制作移动网站。
现在将插件及使用教程附上。
百度网盘链接: http://pan.baidu.com/s/1bo6S7Af 密码: e1fh (我也不喜欢网盘,但是没办法,自己服务器上传太累~~~凑合用吧)
使用说明:
一、功能:实现dedecms网站PC端和移动端数据同步,以及移动端网站静态化
二、基于:dedecms20150618+ 官方默认移动端模板 + 移动站域名绑定/m/目录
三、后台展现:从后台上来看,只有两块不同,原版的后台只有“一键更新网站”功能,修改后,在原有的“一键更新PC网站”基础上增加了“一键更新移动网站”功能。
四、程序思路
dedecms V5.7SP1正式版(2015-06-18) 已增加移动端模块,实现了网站pc端与移动端共用同一个后台和数据库的功能,美中不足的是移动端网站除首页外仅能动态浏览,而无法全站生成静态网页。
简单来说,dedecms静态页面(pc端)生成功能是调用pc端网站模板和对应标签数据,组合为html代码并按设置的文件名规则生成到相应的目录下,从这一角度考虑,如果调用移动端模板,按照后台设置的文件名和生成目录将文件同pc端路径生成至移动端目录(二级目录/m/)下,再将移动域名绑至目录/m/上,即实现了移动端静态文件生成,且与pc端页面url一一对应。
我们可以基于已有功能进行简单修改来增加以上功能(需对dedecms系统文件结构有一定了解):
1、复制dedecms “一键更新网站”功能(如要实现移动端的“更新栏目HTML”、“更新文档HMTL”等功能类似操作)相关的几个系统文件,当然也可直接对原始文件进行二次开发,但考虑到减少影响原功能的可能性和后续程序升级,这里采取了两者功能文件隔离的方式。
2、dedecms移动端模板规则是在模板文件名后加“_m”,修改相应系统文件中的模板调用代码,改为移动端模板路径格式;找到生成路径的代码,将生成路径前加上“/m/”。
3、修改dedecms后台菜单模板,加上“一键更新移动网站”链接至上面新增的系统文件,点击后进行移动端网页静态文件的生成。
4、栏目更新:
(1)因为PC站可以通过“更新主页HTML”、“更新栏目HTML”、“更新文档HTML”来实现首页、栏目、文章的更新,所以“一键更新PC网站”建议平时不需要多使用,比较占据资源。
(2)通过“一键更新移动网站”功能实现移动站的文档、栏目和首页的更新。
5、目前常见的几种织梦移动化的方法:
(1)使用织梦官方默认的方案,移动站为动态地址;
(2)PC站和移动站各一个后台,共用一个数据库;
(3)本方案(在织梦官方默认方案的基础上,进行文件修改,使移动站为静态地址);
(4)其他方式。
五、文件结构说明(黑色文件名为新增文件,红色文件名为替换原文件):
dede/
makehtml_all_m.php 一键更新移动网站页面
makehtml_archives_action_m.php 移动端更新文档
makehtml_list_action_m.php 移动端更新栏目
inc/
inc_menu.php 管理后台导航菜单
inc_archives_functions.php 发布文章自动生成(发布pc端文章同时自动生成移动端页面)
templets/
makehtml_all_m.htm 一键更新移动网站页面模板
makehtml_archives_m.htm 移动端更新文档模板
include/
arc.archives.class.php pc端更新文档类(发布pc端文章同时自动生成移动端页面)
arc.archives_m.class.php 移动端更新文档类
arc.listview_m.class.php 移动端更新栏目类
templets/
default/
index_m.htm 首页模板
header_m.htm 通用头部模板
list_default_m.htm 列表栏目页默认模板(如某栏目不存在对应的移动端模板,则使用此模板)
index_article_m.htm 频道栏目页模板
article_article_m.htm 文章内容页模板
m/
images/
defaultpic.gif 默认缩略图
六、附文章图片路径问题的几种解决方法:
方法一:修改模板的field.body标签,将图片替换为pc主域名的图片地址,例:
{dede:field.body function=’str_replace(“/uploads/allimg/”,”http://www.主域名.com/uploads/allimg/”,@me)/}
推荐使用此方法
方法二:服务器设置rewrite规则进行图片路径重定向,例:
RewriteCond%{HTTP_HOST} ^m.主域名.com$ [NC]
RewriteRule^/uploads/allimg/(.*)$ http://www.主域名.com/uploads/allimg/$1 [NC,L]
方法三:dedecms后台 > 系统 >系统基本参数 > 核心设置 中,开启“(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址”功能。(该方法仅对于开启功能后发布的文章生效,对于之前发布的文章无效。)
不推荐:手机端文章地址会跳转到PC,不推荐
已知问题:2016/9/27 更新
(1)、栏目类型选择封面类型,生成的时候会报错。解决方法:将类型更改为列表类型,指定模板为封面模板即可解决。
声明:插件为转载,感谢作者hscd521分享。
二、移动适配规则
本移动适配规则只适用于栏目保存目录在根目录(示例:www.lidazhuang.com/seo/)。文章保存规则为:{typedir}/{aid}.html (示例:https://uploads.lidazhuang.cn/seo/421.html)
目录移动适配规则:
PC :http://www.pc.com/([a-zA-Z]+)/ 移动:http://m.m.com/${1}/
二级目录移动适配规则:
PC :http://www.pc.com/([a-zA-Z]+)/([a-zA-Z]+)/ 移动:http://m.m.com/${1}/${2}/
文章页移动适配规则:
PC : http://www.pc.com/([a-zA-Z]+)/([0-9]+).html 移动: http://m.m.com/${1}/${2}.html
【常见问题】
原创文章,作者:大壮同学,如若转载,请注明出处:https://www.lidazhuang.cn/open-source/826.html