找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3956|回复: 3

[分享] 织梦dedecms最新版自带手机版使用说明

[复制链接]
发表于 2016-3-28 13:23:13 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦dedecms最新版自带手机版使用说明


dedecms在20150618常规更新的时候增加了手机站,生成二维码等功能,二维码功能很早就出了不必赘述,在这里介绍一下增加的移动站模板的使用说明

关于手机站功能 查看官方更新说明 主要是更改了include目录 和新增了一个手机目录 m目录  以及在模板目录更新了模板文件,新增了一些_m的模板文件

include文件夹更新文件较多 如二次开发少可直接覆盖,当然注意备份

1,观察更新的模板文件 增加了自动跳转手机站的js代码

1-1601060101343G.webp

观察{dede:global.cfg_mobileurl/}发现  多了一个全局变量 cfg_mobileurl 猜也能猜到 这是定义手机目录的  


2,回想配置全局变量的文件 找到include/common.inc.php  寻寻觅觅 发现 果然多了两行代码

1-160106010535Z5.webp

因此这里是一个更新点

3,模板文件更新了一些带有 _m的文件   这些文件很特殊 你猜也能猜到是对应的手机模板文件 因为我知道了第4点

4,在m目录下更新了一些js css文件 还有三个php程序index.php  list.php   view.php  观察index.php发现

1-160106011031160.webp

从这里看出来模板替换规则  也即告诉你 自己制作手机站模板文件 只要在相应PC模板文件名后面加_m自己制作手机模板

5,阅读官方更新文档在以下文件增加了手机站功能的代码

1-160106011502946.webp


如在arc.archives.class.php  

1-160106011639A4.webp


原来在这里判断了一下是否定义了一个叫做DEDEMOB的常量 以决定是否替换模板  这个文件是负责浏览文章内容页的  
还记得更新的模板文件 增加了判断跳转手机的JS代码   阅读后发现 如果是手机访问  就会跳转到m/index.php  
如果是列表 就会跳转到list.php  如果是文章就会跳转到view.php   

果然在观察这几个文件  如list.php  

1-1601060121464S.webp

文件一上来就定义了一个叫做DEDEMOB的常量 而且值为Y   
因此整个流程大概就明白了

先在common.inc.php定义了手机目录的全局变量 使得手机访问时能跳转至相应的php文件  
而在相应的手机浏览的php文件当中定义了一个常量DEDEMOB并且值为1
当动态浏览列表或者文章时 执行加载include里面相应的类文件  在该类文件里面判断是否替换模板  

至此基本上手机站模板应用就结束了 但

6,搜索页面的应用
观察手机站搜索表单 header_m.htm

1-1601060130135W.webp

使用的程序依然是plus/search.php

并且注意 增加了一个隐藏域
你猜也能猜到这是控制手机端的  打开最新的dede程序  plus/search.php  寻寻觅觅 终于

1-160106013545513.webp

这里有做判断 默认情况下$mobile的值为0 如果通过手机模板过来 传了一个隐藏域的值为1
此时定义常量DEDEMOB值并且为Y  此时你也能想到在include里面相应的类文件应该也做了判断是否替换模板的行为  
打开include/arc.searchview.class.php  

1-16010601413T15.webp

果然也进行了相应的动作

貌似手机搜索也能用了  然 不要高兴太早。。。

当搜索出现分页的时候  你点击下一页试试 又变成电脑端的那个搜索页了

观察地址发现
手机端plus/search.php?mobile=1&kwtype=0&q=TC
点击下一页变成的电脑端
/plus/search.php?keyword=++&
searchtype=titlekeyword&
channeltype=0&orderby=&
kwtype=0&pagesize=10&
typeid=0&TotalResult=99&
PageNo=2

你发现没有 mobile=1不见了  你还记不记得手机模板那个搜索传了一个隐藏域的值就是它 也就是说
在做分页链接的时候 mobile=1 传没了 找到搜索类arc.searchview.class.php  分页代码

1-160106014Z61H.webp

1-160106014931538.webp

确实发现 在产生链接的时候并没有加上mobile=1那么在plus/search.php那里$mobile是默认值0
就不会定义常量DEDEMOB的值为Y 那么在类文件里就不会替换模板  因此显示的就是电脑端的那个搜索模板

因此问题就简单了 只要在语句里面拼接一个mobile=1如

1-160106015532262.webp

下面那个是那个跳转到指定页的 也加一个值

其实你可能发现了 搜索页的分页很丑并没有列表页的分页好看   而且 在list_default_m.htm和search_m.htm里面调用分页用的是一样的代码 样式也一样
而dede具体的分页样式是在相关的类文件里面指定的 所以你参考列表页的类里面分页样式将这个搜索页的具体分页样式改一下

列表页用的是li   而搜索类里面用的是表格table tr td   列表页的那个类是arc.listview.class.php 你找到产生动态分页那一块就行

关于手机模板使用的问题还有很多 特别是二次开发过的程序来说 还有很多问题要强调 所以本文待续。。。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2016-3-28 13:54:24 | 显示全部楼层 来自 中国–福建–厦门
dede的m端网站模板也能自由更换吗?

点评

可以换  详情 回复 发表于 2016-3-28 14:06

评分

参与人数 1金币 +3 收起 理由
抢楼评分专号 + 3 很幸运,你获得了抢楼奖励!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-28 14:06:24 | 显示全部楼层 来自 中国–河南–新乡
yesfollow 发表于 2016-3-28 13:54
dede的m端网站模板也能自由更换吗?

可以换

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2016-4-7 13:51:45 | 显示全部楼层 来自 中国–山东–威海
顶!d=====( ̄▽ ̄*)b,希望看到详细的关于手机站的帖子。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-23 00:02 , Processed in 0.201132 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表