首页 > 策划 > 关键词 > Dedecms网站最新资讯 > 正文

干货分享:Dedecms网站移动化分几步?五步搞定!

2015-12-11 09:34 · 稿源:站长学院

站长之家(Chinaz.com)注:Dedecms网站该如何移动化?得分几步?近日,站长学院分享了一篇关于Dedecms网站移动化的文章,据该文章表示,Dedecms网站移动化只需五步便可搞定!他是如何做到的呢?

文/洪石陈

第一步:安装Dedecms移动站点的两种方式

(1)下载新版本直接安装使用,Dedecms版本:V5.7SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。

(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:

注意:

如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_news.htm,可将/templets/defaultst_default_m.htm复制一份改名为list_default_news _m.htm。

即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。

安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms 20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…

第二步:修改Dedecms

(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/index.php代码:

  • if(!file_exists(dirname(__FILE__).'/../data/common.inc.php'))
  • {
  • header('Location:install/index.php');
  • exit();
  • }

将其中/../data/common.inc.php改为/../../data/common.inc.php,或直接将以上5行代码删除。

(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_m.htm”,将“主页位置”改为“../m/index.html”,再生成主页静态文件。

注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<a href="index.php">的动态首页链接,需替换为<a href="index.html">静态链接形式。

※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/index.php:

  • $row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
  • if ($row['showmod'] == 1)
  • {
  • $pv->SaveToHtml(dirname(__FILE__).'/index.html');
  • include(dirname(__FILE__).'/index.html');
  • exit();
  • } else {
  • $pv->Display();
  • exit();
  • }

以上代码替换为一行:

  • $pv->Display();

第三步:首页“图文资讯”部分的url为pc端链接,修改为移动端链接:

搜索模板/templets/default/index_m.htm中所有<a href="[field:arcurl/]"> ,替换为<a href="view.php?aid=[field:id/]">

第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:

在/templets/default/header_m.htm中删除以下代码:

  • <form class="am-topbar-form am-topbar-left am-form-inline am-topbar-right" role="search" action="{dede:global.cfg_cmsurl/}/plus/search.php">
  • <input type="hidden" name="mobile" value="1" />
  • <input type="hidden" name="kwtype" value="0" />
  • <div class="am-form-group">
  • <input name="q" type="text" class="am-form-field am-input-sm" placeholder="输入关键词">
  • </div>
  • <button type="submit" class="am-btn am-btn-default am-btn-sm">搜索</button>
  • </form>

第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。

成功设置二级域名后,通过二级域名浏览网站会发现图片均无法显示,原因是图片路径有误——图片路径为“/uploads/x/y.jpg”

相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,

所以访问图片会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:www.nt090.com ;移动站:m.nt090.com):

(1)URL 重写(推荐

将对http://m.nt090.com/uploads/的访问重写 至http://www.nt090.com/uploads/,apache环境下,在/m/目录中的.htaccess(如无则需新建)中增加以下代码即可:

  • RewriteEngine on
  • RewriteCond %{http_host} ^m.nt090.com [NC]
  • RewriteRule ^uploads/(.*)$ http://www.nt090.com/uploads/$1 [L]

iis环境下类似规则。

(2)修改模板路径

在所有移动端模板中的<head></head>中增加:

<base href="http://www.nt090.com" />

再将代码中的

“<a href="list.php”改为完整路径“<a href=" http://m.nt090.com/list.php”

“<a href="viewphp”改为完整路径“<a href=" http://m.nt090.com/view.php”

另:需将根目录下的/images/defaultpic.gif(缩略图默认图片)复制到/m/目录下,否则列表页中如存在无缩略图的文章,对应缩略图位置会无法正常显示图片。

其他:

1、如有栏目不想在首页下方列表区域或通用头部显示,可在后台对应的栏目管理/常规选项中设置隐藏。

2、为了更好的实现pc端和移动端匹配效果,可在pc端模板增加类似如下代码:

首页

  • <meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/">
  • <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/}/";}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>

代码中的{dede:global.cfg_mobileurl/}部分要替换为包含“http://”的二级域名(即:http://m.nt090.com),如不想修改模板里的相关代码,也可修改/include/common.inc.php中的$cfg_mobileurl变量赋值为二级域名。

以上代码为dedecms新版模板所使用,第一行<meta>标签代码为百度发现跳转适配关系的方式(可同时使用)之一——“Meta标记”,下面几行javascript代码的功能是识别是否移动端设备访问,如是则将当前pc端页面自动跳转到匹配的移动端页面。

另外,还可使用<link>标签以便于百度更好地发现PC站和移动站的移动适配关系,在模板的<head></head>标签内加入如下代码:

PC站首页模板:

  • <link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.nt090.com" >

PC站栏目页模板:

  • <link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.nt090.com/list.php?tid={dede:field.id/}" >

PC站文章页模板:

  • <link rel="alternate" media="only screen and (max-width: 640px)" href=" http://m.nt090.com/view.php?aid={dede:field.id/}" >

移动站首页模板:

  • <link rel="canonical" href="http://www.nt090.com/ "/>

栏目页模板:

  • <link rel="canonical" href="http://www.nt090.com{dede:type typeid='0' row=1}[field:typelink /]{/dede:type}"/>

文章页模板:

  • <link rel="canonical" href="http://www.nt090.com/{dede:field.id runphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:field.id}"/>

至此,移动站架设基本成型。

提交移动跳转适配

URL对应关系示例:

适配方式:

栏目页的对应关系没有规律,且数量较少,使用URL适配 ;文章页为有规律的网址,且数量多,使用规则适配。

提交文章页规则适配(如图):

提交首页和栏目页URL适配(如图):

对于栏目较多的Dedecms网站,人工列出所有的栏目页URL对显然很费事,这里推荐一个方法可以轻松解决该问题:

※在模板中嵌入以下代码,对应前台页面中即可显示所有栏目的URL对,复制粘贴即可:

{dede:channelartlist row=100 typeid='top'}

http://www.nt090.com{dede:field name='typeurl'/} 

http://m.nt090.com/list.php?tid={dede:field name='id'/}<br> {dede:channel type='son' noself='true'} http://www.nt090.com[field:typelink/] http://m.nt090.com/list.php?tid=[field:id/]<br> {/dede:channel} {/dede:channelartlist}

※提交完规则适配,等待百度审核。

如果所提交的适配关系有误,处理状态将很快会出现“校验失败”的提示。

很长一段时间以来,很多站长应该都发现移动适配“校验中”时间很长,对于此问题,目前官方已做了改进,校验效率有了明显提升,以前所提交的适配关系发现正在陆续通过。

以下为很早前提交、近期已通过适配的一个网站示例:

本文方案基于Dedecms尚未成熟的移动站功能,虽较为简单易用,但美中不足的是目前移动站URL仅能使用动态地址,如需使用静态地址需要通过设置伪静态来实现,或者等待Dedecms发布下一个较为成熟的版本,再或者直接对Dedecms进行二次开发实现移动站的静态页面生成功能,对于此类操作本文就不再延伸……

网友热搜:

  • 相关推荐
  • 大家在看
  • Windows Insider现启用Dev/Beta/Release Preview新名称

    ​从某种角度来说,Windows 10 的成功很大程度上归功于 Windows Insider 项目的良性循环。该项目不仅让用户提前体验各种新功能,也帮助微软构建了完善的测试系统和反馈机制。在成功运行超过五年之后,近日微软宣布对 Windows Insider 项目进行一些调整。

  • 焦点聚集DeFi,OKEx“项目小指南”

    近期,DeFi成为研究者及投资者重点关注的项目。6月29日,OKEx CEO Jay Hao在社群直播时表示:“OKEx一直都在关注DeFi的生态发展,早在19年末就对接MakerDao的DSR,以OKEx作为入口向用户提供DeFi的服务,同时OKEx也发起了自己的公链项目OKChain。”在提及DeFi安全性问题时,Jay Hao表示:“这并不会成为DeFi发展的瓶颈并且OKChain会重点发力在该领域,发展更加安全和高性能的DeFi生态服务。”DeFi是去中心化金融(decentralized finan

  • 黑曜石新作《Grounded》将玩家变成蝼蚁

    为防止玩家吓尿,黑曜石贴心地在游戏中设置了蜘蛛恐惧症缓解模式,滑动杆调整值越高,蜘蛛就越萌:开发单位表示外形变化只起示意作用,不影响实际体验及游戏难度。如果玩家依然无法战胜恐

  • 特斯拉Model Y开启国际交付

    DoNews 6月11日消息(记者 刘文轩)特斯拉(Tesla)周二正式开始首款Model Y车辆国际交付。Teslarati发现,已经有加拿大温哥华的客户在Instagram上展示他们购买的最新款特斯拉全电动汽车。该车主在Instagram分享了一张照片,照片中有一辆深蓝色Model Y被送到加拿大新车主的手中。特斯拉温哥华展厅顾问Charlie Wang也证实了这一消息,Model Y在6月开始在温哥华交货。Model Y长续航版本在加拿大的起步价为75990加元,约59720美元;性

  • 特斯拉弗里蒙特工厂Model 3总装线或有减少 一条改为Model Y总装线

    6月10日消息,据国外媒体报道,特斯拉位于加州弗里蒙特的组装工厂,在今年一季度已开始组装去年3月份推出的跨界运动型多用途汽车Model Y,部分幸运的消费者已经收到了他们此前预订的这一款电动汽车。特斯拉跨界运动型多用途汽车Model Y但从外媒最新的报道来看,弗里蒙特工厂的Model Y总装线,可能是此前用于组装Model 3的生产线。弗里蒙特工厂Model Y总装线此前可能是Model 3总装线,源自外媒获得的特斯拉CEO马斯克的?

  • Xbox智能分发是什么 Smart Delivery有哪些服务

    微软游戏业务部门Xbox在近日公布了一个全新的服务——智能分发(Smart Delivery),这一个将上一代主机游戏延续到次世代主机的服务,具体服务内容是什么呢,我们来一起看下。

  • 加快DevOps流程:CFO和CISO如何一起工作

    Covid-19大流行带来了新的常态。远程工作和视频会议从未像现在这样流行。直接的结果是,云计算也从未如此流行。但是,需要注意的是需要全速迁移的人员。DivvyCloud的杰里米·斯奈德(Jeremy Snyder)在4月告诉该刊物 时 说,“人们真的很擅长创造东西,但不善于自我清理”,而 上个月 ,Pariveda Solutions副总裁玛格丽特·罗杰斯(Margaret Rogers)警告说:“知道去哪里很少能旅途更轻松”。在当今时代,安全比以?

  • 特斯拉Model 3国产性能规格公布,Model3高性能全轮驱动版详细介绍

    特斯拉Model3 国产性能规格怎么样?6 月 28 日晚,特斯拉中国在官网发布了Model3 高性能全轮驱动版车辆的国标工况续航里程,续航里程测试结果为635km,百公里加速时间为3. 4 秒,时速可达 261 公里/小时。

  • 马斯克:特斯拉并未开发搭载100kWh电池组的Model 3/Model Y

    6月17日消息,据国外媒体报道,此前,有传闻称,特斯拉正开发一款搭载100kWh电池组的Model 3/Model Y。对此,该公司CEO埃隆·马斯克予以否认。此前,一名叫“Zeus M3”的黑客访问了特斯拉Model 3的“工厂模式”(Factory Mode)。他在推特上分享的截图显示,有一款Model 3或者Model Y似乎搭载100kWh的电池组。这名黑客的爆料引发了许多猜测,其中最有趣的是有关车辆续航里程增加的猜测。目前,Model 3配备的电池组最高

  • 如何将访客转化为潜在客户?这个8个网站优化策略了解下

    你是否已经将自己的网站优化到最佳状态了呢?通过优化来产生潜在客户是转化网站已经获得的流量的最好方法之一。然而,如果你认为在网站的主页上添加几个“点击这里”的CTA策略(注:Callto Action,行动呼吁),就能获取更多的潜在客户,很遗憾的说,这个想法大错特错。

  • Zoom Video收盘创下新纪录 涨幅8.88%

    避难所股票周一上涨,跑赢大盘,由于国内外新出现的COVID-19案件再度兴起,Zoom Video Communications Inc.的股票收盘创下新纪录。变焦视频 US:ZM 周一,该股收于创纪录的239.02美元,涨幅8.9%,此前曾创下历史新高239.59美元。同时,标准普尔500指数 US:SPX 收盘上涨0.8%,科技含量高的纳斯达克综合指数 US:COMP 收盘上涨1.4%,从周一盘初的跌势中反弹。在美国,佛罗里达州和德克萨斯州等州的病例数再度飙升,导致COVID-19

  • OKEx旗下OKChain发布月报,OpenDEX进展喜人

    6 月 10 日,OKChain发布月报显示,OKChain公链技术方面,其测试网已升级至0. 10 版本,新增超级节点竞选及一票多投等功能。自 20018 年OKEx正式公布OKChain以来,作为全球顶级加密货币交易平台的明星产品,无论是首创的交易所公链双币系统,还是持续扩展的公链生态用户,一举一动都获得了市场的大量关注。OKChain是由OKEx研发推出的一条去中心化的、开源的公链,其目标是创建全世界任何人都能高效使用的公链系统,推动区块链技术?

  • DEX交易额较去年同期5倍增长,OKEx CEO Jay Hao 表示DEX与CEX不是竞争关系

    加密数据网站Dune Analytics数据显示,2020年上半年DEX平台的总交易额达到51亿美元,是2019年同期的5倍。而仅在今年6月,DEX的单月交易额就超过15亿美元。由此可见,投资者对于DEX的接受程度在不断地提高,越来越多的人希望通过DEX交易获取收益。那么DEX将如何发展的?DEX与CEX又有什么样的区别和优势?未来又会如何? OKEx分析师将会为大家进行介绍。中心化的数字货币交易所(CEX),实际上,至少从用户角度看数字货币交易所和银?

  • Decoverf皇家帝孚:涂鸦艺术,我想玩的更潮流!

    当家居失去了光鲜亮丽与涂鸦艺术相遇,多点想象力生活变重新恢复了生命力涂鸦作为一种具有大众性、交叉型的流行艺术,其感染力来自于字体的强烈变化和色彩的对比,以个性张扬的态度,颠覆传统的艺术观念及形式,不受诸多条条框框的限制,注重表达内心纯粹的需求。它的青春活力、自由奔放的笔触,不仅仅是一种炫酷的艺术,其本质更是在表达一种释放真我的精神。涂鸦艺术注重作品的视觉传达效果,在设计领域中,涂鸦中的图形流动感和

  • Decoverf皇家帝孚Workshop学术研讨会

    Decoverf皇家帝孚一年一度的Workshop学术研讨会正式开启。现场群英荟萃,行业内专业学者纷纷前来相互探讨学习。Workshop是由Decoverf皇家帝孚组织开办的专业学术研讨会,每年都会邀请一些在欧洲行业内知名的学者、设计师、从业人士等相关人员到场,并会对外开放少量参观名额,邀请感兴趣的消费者免费到研讨会体验、了解皇家帝孚的产品以及文化。Decoverf皇家帝孚开办学术研讨会的宗旨,是为了在行业内搭建一个互相学习、加强沟通、

  • 特斯拉Model 3一季度成加州最畅销的汽车

    今年第一季度,特斯拉电动汽车Model3 成为加州最畅销的汽车。根据加州新车经销商协会截至今年 3 月 31 日, Model3车售出了 18856 辆。这个数字超过了任何竞争对手的汽车,甚至超过了大众市场的汽车和跨界车。

  • 特斯拉正式开始Model Y的国际交付 从加拿大开始

    【TechWeb】6月11日消息,据国外媒体报道,当地时间周二,电动汽车制造商特斯拉正式开始了Model Y的国际交付,首先从加拿大开始。特斯拉温哥华门店顾问Charlie Wang表示,该公司将从6月份开始在加拿大温哥华交付Model Y。特斯拉预计,将在2021年上半年的某个时候开始向欧洲和亚洲的主要市场进行Model Y的国际交付。特斯拉是在去年3月份推出Model Y的,这款车是一款跨界运动型多用途汽车,最多可搭载7名乘客,续航里程最高为300英?

  • 马斯克证实:特斯拉正面临提高Model Y产量问题

    【TechWeb】6月9日消息,据国外媒体报道,电动汽车制造商特斯拉的CEO埃隆·马斯克在发给员工的一封电子邮件中证实,特斯拉正面临提高Model Y产量的问题。特斯拉是在去年3月份推出Model Y的,这款车是一款跨界运动型多用途汽车,最多可搭载7名乘客,续航里程最高为300英里(约482公里)。今年1月,特斯拉证实,该公司已开始在弗里蒙特工厂生产Model Y,这距离该公司推出这款车不到一年时间。今年3月,外媒报道称,该公司已经正式开

  • 杨柘入职小米后第一条微博:分享《Joie De Vivre》

    6月2日,小米正式官宣任命杨柘为小米集团副总裁、中国区首席营销官(CMO),负责中国区市场营销战略制定、品牌建设等工作。随后,杨柘本人也启用了荒废已久的个人微博,将认证修改为小米集团副

  • 戴尔科技集团推出全新Latitude、Precision和OptiPlex产品组合,搭载自动化AI软件助力职场人士智能办公

    6月12日消息,戴尔科技集团举办“新机在握,智迎挑战” 2020戴尔全新商用客户端产品及解决方案发布会,携其屡获殊荣的全新Latitude、Precision和OptiPlex产品组合亮相中国。此次,戴尔带来其最智能、最安全的全新商用PC产品组合,以助力专业人士随时随地、更高效、更安全地开展工作。同时,作为戴尔最具可持续性的商用客户端产品,这些全新推出的设备通过采用可再生材料、可持续包装、高能效设计并满足EPEAT黄金评级等

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议