很多站长在优化织梦网站的时候都会遇到这个问题,很多网上找到的织梦模板没有自带的手机端模板和PC端自动跳转织梦手机端代码,但是对于目前百度,神马等搜索引擎优化来说,手机端网站或者自适应网站已经是非常重要优化排名手段。织梦网站在2015年就更新出了手机端网站代码,系统后台添加了很多针对手机移动端的设计,最好的功能就是添加了生成二维码的织梦标签和织梦手机模板功能,织梦更新后,默认的 default模板中就包含手机模板,所以我们可以给织梦网站设计双模板,电脑网站pc模板和手机wap模板,非常方便。白起seo在此分享如何实现织梦模板pc电脑端网站自动跳转手机模板网站。
我们在制作模板时通常都会参考织梦默认模板default中的标签使用,所以,接下来我们就来分析一下织梦默认模板default中使用手机模板的制作方法。
一、手机模板命名规则
在新织梦的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模板在制作、调用上还是有些区别的。下面说一下具体的区别。
二、手机模板和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">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else
{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||
(/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("?
mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test
(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/index.php";}else if
(/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/}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else
{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||
(/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("?
mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test
(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/list.php?tid=
{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/}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else
{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||
(/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("?
mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test
(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/view.php?aid=
{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模板不同。
1、栏目超链接不同
在pc模板中,如导航栏,栏目超链接调用如下:
{dede:channel type='top' row='10' }
<a href='[field:typeurl/]' >这是栏目内容</a>
{/dede:channel}
手机模板调用栏目超链接代码如下:
{dede:channel type='top' row='10' }
<a href='list.php?tid=[field:id/]' >这是栏目内容</a>
{/dede:channel}
2、文章列表超链接不同
pc模板中文章列表超链接调用代码如下:
{dede:arclist row='10' }
<a href='[field:arcurl/]' >这是文章标题</a>
{/dede:arclist}
手机模板调用文章列表超链接代码如下:
{dede:arclist row='10' }
<a href='view.php?aid=[field:id/]' >这是文章标题</a>
{/dede:arclist}
除了这两个超链接不一样,其他的织梦标签通用。
三、手机网站更新
到这里我们已经实现了织梦PC端跳转手机端模板的布局了,那么接下来该如何实现织梦手机网站的更新呢?
白起SEO帮你解决一个织梦网站手机端更新问题:在后台更新时候手机版模板无法像电脑版一样同步更新,这样造成了很多的麻烦,有时候还担心是否修改了其他模板文件。每次更新只能重新选择手机模板,生成之后还要将静态index.html传到 根目录“m/”下。下面就教大家如何像生成pc端一样更新移动端模板文件,达到实时更新模板。
首先,打开后台文件路径:/dede/inc/inc_menu.php,修改前请自行备份一份,使用Notepad++或者其他文本编辑器打开这个文件。
在打开的inc_menu.php文件中找到143行,复制粘贴这一行代码。并将“更新主页HTML”修改成“更新手机HTML“,“makehtml_homepage”修改成“makehtml_homepage2“。
然后打开后台路径:/dede/,复制makehtml_homepage.php这个文件并修改成:makehtml_homepage2.php。
打开根目录/dede/templets/下的makehtml_homepage.htm,并复制名称修改成:makehtml_homepage2.htm,和第三个步骤一样。(这里注意下路径,是/dede/templets/
用Notepad++或者其他文本编辑器打开刚刚创建的makehtml_homepage2.php文件。
在底下第77行修改一下,
将:include DedeInclude(‘templets/makehtml_homepage.htm’);
改为:include DedeInclude(‘templets/makehtml_homepage2.htm’);
在36行中改成你的手机首页模板路径,我的是默认模板下的default/index_m.htm,你可以根据你模板文件修改
在36行中的远程发布路径修改成为手机首页路径 “../m/index.html”
在36行中的主页位置路径修改成为手机首页路径 “../m/index.html”
在57行中的远程发布路径修改成为手机首页路径 “../m/index.html”
在69行中“相关选项”中默认选取“不保存当前选项”,否则会引发和电脑版更新的冲突。
最后我们到后台刷新更新下缓存就可以啦,这样我们就可以像更新pc端一样更新手机端模板啦。
如下图: