DedeCMS跳转到移动端适配,获取当前页面URL
DedeCMS根据用户访问设备JS跳转到与PC对应的移动端URL,如何调用对应的页面URL?URL种类有首页、列表页、内容页;又分为动态URL(带或不带参数,一般URL"?"后面的就是参数)、静态URL。
带参数的动态URL: ?tid=85&zxfg=%B5%D8%D6%D0%BA%A3 静态URL: /zhuangxiu_xiaoguotu/上面两个PC端URL分别跳转到如下移动端URL
/plus/wap_list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3 /dedecms/ PC端页面SEO设置如果不设置好,虽然页面不一样,但大体上是一样,蜘蛛会重复收录PC端和WAP移动端,容易造成分权。
一般的处理办法是,PC用alternate声明与之对应的移动端URL,移动端用canonical声明只收录PC端的URL。
PC首页跳转WAP首页把下面代码放在PC端的</head>之前。下面称为通用代码。
<link rel="alternate" media="only screen and (max-width: 640px)" href=http://www.dede58.com/a/dedejq/"http:/m.dede58.com/"> <meta http-equiv="mobile-agent" content="format=xhtml;url=http://m.dede58.com/"> <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="";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> PC列表跳转WAP列表先来看看PC端URL不带参数的跳转到移动端调用方法
这是列表页的URL,列表页、内容页都可以用{dede:field.typeurl /}获取,PC端对应页面需要用到PHP str_replace函数,把下面代码替换通用代码对应部分
{dede:field.typeurl function = "str_replace('' , 'dede58.com' , @me);"/}说明:可以根据实际需要进行修改橙色部分内容,前面一个是PC端的URL,后面是WAP移动端URL。
相同的道理,WAP移动端内容页URL调用
{dede:field.arcurl function = "str_replace('' , 'dede58.com' , @me)"/}PC端URL带参数的跳转到移动端调用方法
这是前面做的一个重庆装修公司站装修效果图筛选的遇到的问题,当时做PC与WAP静态URL,参考文章《DedeCMS一个后台管理PC移动端纯静态非官方版》,但筛选部分还是动态URL,先看下面的带参数的URL:
/plus/list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3跳转到
/plus/wap_list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3可直接复制链接看具体形式,只能通过其他方法获取当前URL,再用str_replace改写,获取方法如下:
{dede:geturl runphp='yes'} @me = GetCurUrl(); //获取当前URL @me = str_replace('/plus/list.php' , '/plus/wap_list.php' , @me); {/dede:geturl}geturl函数调用的是相对路径,根据实际需要修改为绝对路径。如果是用二级域名的URL,直接把二级域名写在geturl函数前面即可。
注意:此方法不适用静态页面,不过如果是筛选(带参数)可以完全使用动态页面。
PC内容页跳转WAP内容页这个就简单了,不管是静态URL还是动态URL都通用。把下面代码替换通用代码相应部分。
{dede:field.arcurl function="str_replace('' , 'dede58.com' , @me)"/} WAP移动端页面SEO设置在</head>之前添加canonical声明。
<link rel="canonical" href=http://www.dede58.com/a/dedejq/"http:/www.dede58.com/">- 上一篇:DedeCMS多条件筛选带删除功能
- 下一篇:DedeCMS文章内容图片延迟加载
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
- 织梦dede首页列表页获取文章对应的tag标签
- 织梦dede导航栏目顶级和二级判断二级输出不同url
- 织梦dede标签array runphp静态生成乱码BUG解决方法
- 织梦dede如何禁止会员发布文章内容带超链接
- 织梦ajax跨域提交自定义表单和跨域验证码问题
- 织梦CMS MIP文章内容页图片适配百度MIP规范
- 织梦CMS时间格式实现XX秒前、XX分钟前、XX天前
- 织梦DedeCMS更新系统缓存增加清理沉余缓存的功能
- 织梦CMS让channelartlist标签支持currentstyle属性的
- 织梦dede自带编辑器替换百度ueditor编辑器
- 织梦DEDECMS整站动态化或整站静态化设置方法
- 织梦dede 模板路径templets目录都有什么?