移动端和PC的整合越来越多,实现一个后台管理PC、移动、微信等。如题,这个问题困扰了我和许多站长,摸索了一两天才发现dedecms默认的wap跳转正好可以拿来用。
关于首页的跳转大家已经说得烂了,就不费口舌了,关于列表和文章的跳转就没有很好的办法。没错,好内容才拿来分享!大家一般做一个后台管理多个平台都是在一个空间装一些插件实现自动转码的功能。
列表路径一般是:域名/m/case/
文章路径一般是:域名/m/case/1.html
具体的规则由自己的情况而定。
修改dedecms5.7v版本静态列表页、内容页跳转到相应的移动版页面JS
原来这个跳转是用在新版的手机端上的,也就是为了“m”而生的。以下是dedecms的默认的跳转,修改红色的地方。细心的朋友会发现,其实这个链接就是跳转链接,前面多的不用细看,就是移动的各种版本。这里要注意,此方法只适用于使用相对路径而不能使用绝对路径,{dede:global.cfg_mobileurl/}默认为“m”,如果你的移动版生成的文件夹为“wap”根据情况修改。
<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>
红色部分列表页修改为:{dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type} ,把修改后的js代码放到<head></head>之间
内容页修改为:{dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type}{dede:field.id/}.html,同样的把修改后的js代码放到<head></head>之间
其实熟悉dedecms的都看得懂,就是自动获取当前栏目的链接和获取内容的id,这样不管用户从哪里找到我们的快照,都能自适应进入到相应的页面。大功告成!
动态页面跳转到对应的页面实现方法
该方法只适用于静态页面,动态页面的跳转方法比较简单(未做伪静态)。
1.在同一个网站根目录增加移动站目录({dede:global.cfg_mobileurl/}系统默认为/m,为避免影响到根目录下的/m文件夹,则建立文件夹/wap),安装另外一个dedecms,安装前先备份好数据库,防止安装时被覆盖,安装过程和PC端完全一样;
2.把移动端的对应模板上传到/wap/tamplates/default/;
3.此时两个dedecms数据库已同一个,还原数据库即可;
4.动态页面跳转JS和静态页面的修改方法是一样的,是不是很简单。
红色部分列表页修改为:/wap/plus/list.php?tid={dede:field.id/} ,把修改后的js代码放到<head></head>之间
内容页修改为:/wap/plus/view.php?aid={dede:field.id/},同样的把修改后的js代码放到<head></head>之间