一、功能:实现dedecms网站PC端和移动端数据同步以及移动端网站静态化
二、基于:dedecms20150618+官方默认移动端模板+移动站域名绑定/m/目录
三、后台展现:从后台上来看只有两块不同百度排行榜只有两块不同原版的后台只有“一键更新网站”功能修改后在原有的“一键更新PC网站”基础上增加了“一键更新移动网站”功能。
四、程序思路
dedecmsV5.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、织梦移动站的搭建方法的延伸
Dedecms移动站静态化实操是作为上次分享的织梦移动站的搭建的补充和延伸。
6、目前常见的几种织梦移动化的方法:
(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.phppc端更新文档类(发布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主域名的图片地址例:
方法二:服务器设置rewrite规则进行图片路径重定向例:
RewriteCond%{HTTP_HOST}
m.主域名.com$[NC]
RewriteRule
/uploads/allimg/(.*)$主域名.com/uploads/allimg/$1[NC,L]
方法三:dedecms后台>系统>系统基本参数>核心设置中开启“(是/否)支持多站点开启此项后附件、栏目连接、arclist内容启用绝对网址”功能。(该方法仅对于开启功能后发布的文章生效对于之前发布的文章无效。)
总结几种方法:
一、功能:实现dedecms网站PC端和移动端数据同步以及移动端网站静态化{百度seo教程:dedecms 织梦手机版静态化方法-SEO技术培训}