dedecms织梦手机模板使用和制作方法

所属分类: CMS教程 / dedecms 阅读数: 990
收藏 0 赞 0 分享

我们在制作模板时通常都会参考织梦默认模板default中的标签使用,所以,接下来我们就来分析一下织梦默认模板default中使用手机模板的制作方法

注意:本教程适合有织梦模板开发经验的站长,如果是新手,建议先去熟悉织梦pc模板开发。

1、手机模板命名规则

在新织梦的default模板中,除了原有的模板外,多了些手机模板,主要手机模板如下:

     index_m.htm 首页模板

     index_default_m.htm 频道页模板

     list_default_m.htm 列表页模板

     list_default_sg_m.htm 列表页模板

     article_article_m.htm 内容页模板

     article_default_m.htm 内容页默认模板

     search_m.htm 搜索页模板

     head_m.htm 顶部模板

     footer_m.htm 底部模板

熟悉织梦电脑网站模板制作的站长,一眼大体就能明白这些手机模板对应的用法和制作。这些手机模板和pc模板在制作、调用上还是有些区别的。下面说一下具体的区别。

2、手机模板和pc模板的不同

(1)手机模板的命名不同

从上面手机模板的命名就可以看出,手机模板和pc模板的命名区别就是在pc模板后加“_m” ,例如pc首页模板是index.htm,对应的手机模板就是index_m.htm ;pc列表页模板是list_article.htm ,对应的手机列表页模板就list_article_m.htm 。

并且制作pc模板时,应该有一个pc模板,就做一个对应的手机模板,命名如上,这样电脑和手机访问时,对应页面都可以正常显示。

(2)手机模板调用的资源位置不同

pc模板制作时,调用的css、js、images都在模板文件夹中,例如默认default模板中的css、js、images都在其中。而手机模板调用的css、js、images等资源都在网站根目录/m/assets文件夹下。

当然我们可以在手机模板中把资源调用的位置设置到模板文件夹内。但我分析了一下,觉的默认的手机模板资源这样调用还是有好处的,把手机模板资源和pc模板 资源分开,这样当我们又做了一个pc模板,想把现有的手机模板添加到这个新pc模板中时,只需要把手机模板文件复制一份到新pc模板中就可以了,手机的 css、js等资源都不用动。简单说,就是对手机资源管理方便。

所以建议手机模板资源按照默认模板一样,放到根目录对应文件夹下。

(3)网站根目录的m文件夹

新织梦的根目录下多了m文件夹,这个就是手机访问的文件夹,刚才说了手机模板资源就在m文件夹下。除此之外m文件夹下还有index.php、list.php、view.php,当我们访问手机站时,其实就是访问这3个文件,动态访问手机站。

所以如果你想用电脑查看一下自己的手机站,方法就是访问:http://你的域名/m ,就可以查看手机网站了。

(4)pc模板中的设置

当我们用手机访问网站时,会自动跳转到手机模板,这需要在pc模板中添加跳转的js代码。在<head></head>添加代码。

* 首页模板中添加如下代码:


复制代码
代码如下:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-</p> <p>|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/index.php";}else if</p> <p>(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

* 列表页模板添加如下代码:


复制代码
代码如下:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-</p> <p>|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/list.php?tid=</p> <p>{dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

*内容页模板添加如下代码


复制代码
代码如下:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/view.php?aid=</p> <p>{dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

其中上面的js是电脑网站跳转到手机网站的代码,而<meta http-equiv="mobile-agent" ....>是用来告诉百度,手机网站的地址,主要用于seo。

pc模板添加上面代码后,手机访问网站时,就会自动跳转到手机网站模板了。

(5)手机模板的设置

刚才说过了手机网站访问的是网站根目录的m文件夹下的index.php,list.php,view.php ,手机网站是访问动态页面,而不像pc站中的静态页面。

手机模板制作时,有两个地方和pc模板不同。

一、栏目超链接不同

在pc模板中,如导航栏,栏目超链接调用如下:


复制代码
代码如下:

{dede:channel type='top' row='10' }</p> <p><a href='[field:typeurl/]' >这是栏目内容</a></p> <p>{/dede:channel}

手机模板调用栏目超链接代码如下:


复制代码
代码如下:

{dede:channel type='top' row='10' }</p> <p><a href='list.php?tid=[field:id/]' >这是栏目内容</a></p> <p>{/dede:channel}

二、文章列表超链接不同

pc模板中文章列表超链接调用代码如下:


复制代码
代码如下:

{dede:arclist row='10' }</p> <p><a href='[field:arcurl/]' >这是文章标题</a></p> <p>{/dede:arclist}

手机模板调用文章列表超链接代码如下:


复制代码
代码如下:

{dede:arclist row='10' }</p> <p><a href='view.php?aid=[field:id/]' >这是文章标题</a></p> <p>{/dede:arclist}

除了这两个超链接不一样,其他的织梦标签通用。

(6)默认的手机搜索页模板search_m.htm不能用

经测试发现,默认的手机搜索模板search_m.htm不能用,但用手机搜索时,搜索结果用的是pc搜索模板search.htm 。

这是因为手机模板中搜索也是调用的pc站的搜索功能。如果需要让手机网站可以调用search_m.htm ,就需要单独设置搜索功能页面。

总结

好了,按照以上的步骤完成pc站的跳转,和手机站链接的注意事项,你就可以开始做自己的织梦手机模板了,方法和pc站模板开发类似。开发时,可以多参考默认default的手机模板。感兴趣的朋友们快去动手试试吧,如果有疑问可以留言交流,小编会尽快给大家回复的。

更多精彩内容其他人还在看

织梦dedecms 忘记管理员后台密码的解决技巧

好多情况下,由于各种原因忘记了dedecms的密码,给大家带来了很大的麻烦,官方也没有出直接修改密码的东西可能是为了安全考虑吧。下面是最根本的方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

取消dedecms 留言簿的验证码的方法

有时候感觉加了验证码,为互动带来了麻烦,如果垃圾广告很少的话可以取消,下面是具体的实现方法。
收藏 0 赞 0 分享

DEDECMS相关文章不相关的解决办法

关键字描述:相关 办法 解决 文章   " < row-> ss &rsquo DEDE的相关文章完全不相关,有朋友在DEDE官方放出根据TAG显示相关文章,也是很不错,可惜我在根据那边文章改DEDE代码后老是不行,可能是能力有限,当然也有可能是代
收藏 0 赞 0 分享

Dedecms默认模板用户评论扩展

关键字描述:评论 扩展 用户 模板 默认 " < > class 登录 Dedecms默认模板内容页评论处有个不足的地方,就是用户登录之后还会出现那个提示用户登录的框子,天涯这里给出了以下解决方案,如果喜欢的朋友可以拿去。 首先我们给内容页模板写上一段
收藏 0 赞 0 分享

DEDE取消发表文章时去掉验证码

关键字描述:dede 取消 发表文章 验证码 网站 关闭 后台 我的一个DEDECMS的网站里面所有的东西都是自己发布的,所以不需要验证码! DEDE默认是有验证码的,而且后台是不能关闭的,所以我们需要对代码动下手术拉! 今天,小青就在xkzzz谈一谈如何将d
收藏 0 赞 0 分享

【Arclist 标记】--Dedecms模板标签代码

关键字描述:标签 代码 模板 标记 表示 文档 < " 属性 orderby 这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、ar
收藏 0 赞 0 分享

Dedecms实时更新热门关键字!

关键字描述:关键字 热门 更新 实时 标记 Copy code < subday num Dedecms实时更新热门关键字其实实现起来很简单,可是很多人不知道。 登录到dedecms后台 后台:自定义宏标记 添加一标记: 所属栏目:默认不用动 标记名称:ke
收藏 0 赞 0 分享

从零学DedeCms模板教程

关键字描述:教程 模板 < 模版 代码 标记 &mdash 制作 field:title/ DedeCms真是一个非常棒的系统,我从接触到现在一年时间再也没有理会其他CMS系统,推荐刚开始建站或准备换程序的朋友使用DedeCms系统。就像柏拉图说的:利剑已出,天下必乱
收藏 0 赞 0 分享

dedecms制作的admin5的评论效果

dedecms制作的admin5的评论效果 哪位朋友修改后了 请出个演示 以便让其他朋友提供参考 谢谢 声明:大家下载后请先在本地调式,确定无误后再使用。请备份原文件 把附件一覆盖到 主目录plus文件夹下; 把附件二覆盖到
收藏 0 赞 0 分享

dede解决两个标题之间的空格问题

关键字描述:空格 问题 之间 标题 解决 两个 显示 dedecms 一行 没有 问题: dedecms想在一行显示多个标题,比如两个或者三个,标题之间不需要空格,但是dedecms默认的一行显示的标题间有空格 修改./include/inc_arcpart_view.
收藏 0 赞 0 分享
查看更多