dede全站做移动跳转+适配,精通dede和PHP的来!

dede全站做移动跳转+适配,精通dede和PHP的来!,第1张

dede:type typeid='10的意思是:{dede:type} 这个是指定栏目的调用, typeid=10是栏目ID [field:typelink/]栏目链接,10代表的是第10个栏目。

dede的type标签的作用是:表示指定的单个栏目的链接。适用范围:封面模板、列表模板、文档模板。语法 {dede:type typeid=''}{/dede:type},属性 typeid='栏目ID,底层模板变量typename,typelink(仅表示栏目的网址)。

扩展资料:

DedeCMS的模版引擎简单、易用,采用了XML标记风格,只要懂HTML就可以修改制作模板。 很多的用户都为每次网站改版费尽苦心,因为按照老式的网站制作流程,改版需要修改的不单单是一个界面,还要涉及到程序修改。最后成了一次改版,几乎等于网站重构。

DedeCMS就解决了这一系列的烦恼,只需要了解一些DedeCMS的模板标记,只要懂HTML,就能随意对模板文件进行修改,而且每次升级只需要更新模板文件即可,做到了程序和页面很大程度上的分离。

DedeCMS 的模板引擎采用了官方自行研发的Dede模板引擎,类XML结构的标签简单易懂,便于在网页编辑器中进行编辑。同时标签齐全,应用广泛,这为基于 DedeCMS建设开发的站点提供了一个良好的基础,只需要懂HTML就可以搭建您想要的站点,这也是DedeCMS风靡的一个重要因素。

-dedecms模版

织梦-织梦内容管理系统模板标签代码参考

自从dedecms织梦系统更新到67日的版本,底部版权信息调用标签{dede:globalcfg_powerby/}会自动加上织梦官方

的链接[Power by DedeCms ],想必很多新用户使用中都想去除这个官方的链接,由于这是官方的作为,本文只是提供一个技术的交流,并不鼓

励大家去除底部的链接。好了,回归正题,大家知道,进入后台在后台的系统-系统参数有个网站版权信息,在这里并不能找到官方的链接,由此可看,这是被官方

进行了加密处理了,想要去掉这个链接就需要不调用{dede:globalcfg_powerby/}这个标签,而使用其他变量代替。思路就是新建一个

变量作为我们的网站版权信息来调用,好了下面就看看如何做:

方法1新建一个变量;进入系统——系统基本参数—— 添加新变量右上角如下图:

样,点击保存变量,就会在后台参数多出一个网站底部信息变量的输入框,如何调用此标签?跟以前的调用网站版权信息一样格式:

{dede:globaldede_powerby/};在footerhtm底部模板加上此标签即可。有了我们自己的版权信息变量,我们就可以删除

之前系统自带的版权信息变量。

我们使用sql命令工具在系统设置下面有个sql命令工具在输入框输入以下SQL语句,即可删除系统的版权信息变量。SQL语句:DELETE

FROM dede_sysconfig WHERE varname = "cfg_powerby"

方法2修改源码除了添加另一个变量之

外,还可以看看官方的最新补丁使用到什么,通过查看67日官方更新补丁,织梦DedeCMS官方在6月7号的安全补丁主要更新文件是

include/dedesqlclassphp,修复变量覆盖漏洞。但是下面的这段代码明显是不正常的,为什么要用这种编码呢?删除该文件的下面这

段代码就可以解决这个问题了。代码如下:

$arrs1 =

array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);$arrs2 =

array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,

0x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,

0x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,

0x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);

2个方法随便大家使用哪个,都可以有效去除底部的版权信息

本方法由草坝阁网整理,使用前请注意备份文件。

考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。

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

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

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

注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。

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

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

第二步:修改Dedecms

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

if(!file_exists(dirname(__FILE__)'//data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

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

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

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

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

$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;

if ($row['showmod'] == 1)

{

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

}

else {

$pv->Display();

exit();

}

以上代码替换为一行:$pv->Display();

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

搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">

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

在/templets/default/header_mhtm中删除以下代码:

<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">

<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-btnam-btn-default am-btn-sm">搜索</button>

</form>

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

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

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

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

(1)URL 重写(推荐)

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

RewriteEngine on

RewriteCond %{http_host} ^mnt090com [NC]

RewriteRule ^uploads/()$ http://wwwnt090com/uploads/$1 [L]

iis环境下类似规则。

(2)修改模板路径

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

<base href="http://wwwnt090com" />

再将代码中的

“<a href="listphp”改为完整路径“<a href="http://mnt090com/listphp”

“<a href="viewphp”改为完整路径“<a href="http://mnt090com/viewphp”

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

其他:

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

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

首页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

栏目页

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

文章页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}">

<script type="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex') !=-1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

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

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

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

PC站首页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href="http://mnt090com" >

PC站栏目页模板:

<link rel="alternate" media="only screen and(max-width: 640px)"href="http://mnt090com/listphptid={dede:fieldid/}" >

PC站文章页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href=" http://mnt090com/viewphpaid={dede:fieldid/}">

移动站首页模板:

<link rel="canonical"href="http://wwwnt090com/ "/>

栏目页模板:

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

文章页模板:

<link rel="canonical"href="http://wwwnt090com/{dede:fieldidrunphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:fieldid}"/>

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

提交移动跳转适配

URL对应关系示例:

1、标签名称:adminname

功能说明:

获得责任编辑名称

使用实例:

{dede:adminname /}

2、标签名称:arclist

功能说明:

文章列表调用标记

使用实例:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''

imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclist}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

infolen='160' 表示内容简介长度 等同于infolength

imgwidth='120' 缩略图宽度

imgheight='90' 缩略图高度

listtype='all' 栏目类型(顶级栏目??)

orderby='sortrank' 文档排序方式

§ orderby='hot' 或 orderby='click' 表示按点击数排列

§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列

§ orderby='near'

§ orderby=='lastpost' 按最后评论时间

§ orderby=='scores' 按得分排序

§ orderby='id' 按文章ID排序

§ orderby='rand' 随机获得指定条件的文档列表

keyword='' 含有指定关键字的文档列表,多个关键字用","分

innertext = '' 单条记录样式

aid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

noflag = '' 同flag,但这里是表示不包含这些属性

orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

subday='天数' 表示在多少天以内的文档

3、标签名称:arclistsg

功能说明:

单表模型的文章列表调用标记

使用实例:

{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclistsg}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

orderwey='desc'或'asc' 排序方向

keyword= 含有指定关键字的文档列表,多个关键字用","分

innertext = "[field:title/]" 单条记录样式(innertext是放在标签之间的代码)

arcid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid = '' 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

subday='天数' 表示在多少天以内的文档

4、标签名称:autochannel

功能说明:

按排序位置的获取单个栏目的链接信息

使用实例:

{dede:autochannel partsort='' typeid=''}{/dede:autochannel}

参数说明:

partsort = '0' 栏目所在的排序位置

typeid = '0' 指定的父栏目

5、标签名称:channel

功能说明:

获取栏目列表标签

使用实例:

{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}

<li><a href='[field:typelink/]'>[field:typename/]</a> </li>

{/dede:channel}

参数说明:

typeid = '0' 栏目ID

reid = '0' 上级栏目ID

row = '100' 调用栏目数

col = '1' 分多少列显示(默认为单列)

type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目

currentstyle = '' 应用样式

6、标签名称:channelartlist

功能说明:

获取当前频道的下级栏目的内容列表标签

使用实例:

{dede:channelartlist row=6}

<dl>

<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>

<dd>

{dede:arclist titlelen='42' row='10'} <ul class='autod'>

<li><a href="[field:arcurl /]">[field:title /]</a></li>

<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>

</ul>

{/dede:arclist}

</dl>

{/dede:channelartlist}

参数说明:

typeid = '0' 频道ID,多个请用","分隔

row = '20' 获取的栏目返回值

其他说明:

除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套

{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。

7、标签名称:demotag

功能说明:

这仅是一个演示标签

使用实例:

{dede:demotag /}

8、标签名称:feedback

功能说明:

调用最新评论

使用实例:

{dede:feedback}

<ul>

<li class='fbtitle'>[field:username function="(@me=='guest' '游客' : @me)"/] 对 [field:title/] 的评论:</li>

<li class='fbmsg'> <a href="plus/feedbackphpaid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>

</ul>

{/dede:feedback}

参数说明:

row='12' 调用评论条数

titlelen='24' 标题长度

infolen='100' 评论长度

9、标签名称:flink

功能说明:

友情链接

使用实例:

{dede:flink row='24'/}

参数说明:

type='image' 或textall,链接,text文字链接;

row='24' 链接数量

titlelen='24' 站点文字的长度

linktype='1' 链接位置(首页,内页)

typeid='0' 所有类型

10、标签名称:hotwords

功能说明:

获取网站搜索的热门关键字

使用实例:

{dede:hotwords /}

参数说明:

num='6' 关键词数目

subday='365' 天数

maxlength='16' 关键词最大长度11、标签名称:infoguide

功能说明:

分类信息的地区与小分类搜索

使用实例:

{dede:infoguide /}

12、标签名称:likepage

功能说明:

单页文档相同标识调用标签

使用实例:

{dede:likepage likeid='' row=''/}

参数说明:

row = '' 调用条数

likeid = '' 标识名

13、标签名称:likesgpage

功能说明:

单页文档调用标签

使用实例:

{dede:likespage row=''/}

参数说明:

row = '' 调用条数

14、标签名称:loop

功能说明:

调用任意表的数据标签

使用实例:

{dede:loop table='dede_archives' sort='' row='4' if=''}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:loop}

参数说明:

table = '' 查询表名

sort = '' 用于排序的字段

row = '' 返回结果的条数

if = '' 查询的条件

15、标签名称:memberinfos

功能说明:

文档关连的用户信息

使用实例:

{dede:memberinfos /}

参数说明:

无属性,支持 innertext

16、标签名称:memberlist

功能说明:

会员信息调用标签

使用实例:

{dede:memberlist orderby='scores' row='20'}

<a href="/member/indexphpuid={dede:fielduserid /}">{dede:fielduserid /}</a>

<span>{dede:fieldscores /}</span>

{/dede:memberlist}

参数说明:

orderby = 'scores' 按积分排序

row = '6' 调用数目

17、标签名称:myad

功能说明:

广告调用

使用实例:

{dede:myad name=''/}

参数说明:

typeid='0' 投放范围,0为全站

name='' 广告标识

18、标签名称:mynews

功能说明:

站内新闻调用标签

使用实例:

{dede:mynews row='' titlelen=''/}

参数说明:

row='1' 调用站内新闻数

titlelen='24' 新闻标题长度

19、标签名称:mytag

功能说明:

自定义宏标记调用标签

使用实例:

{dede:mytag typeid='0' name=''/}

参数说明:

typeid = '0' 栏目ID 0为全站栏目

name = '' 标记名

20、标签名称:softmsg

功能说明:

下载说明标签

使用实例:

{dede:softmsg /}

21、标签名称:sonchannel

功能说明:

子栏目调用标签

使用实例:

{dede:sonchannel}

<a href='[field:typeurl/]'>[field:typename/]</a>

{/dede:sonchannel}

参数说明:

row ='100' 返回数目

col = '1' 默认单列显示

22、标签名称:sql

功能说明:

SQL标签

使用实例:

{dede:sql sql=''}

[field:title/]

{/dede}

参数说明:

sql='' 完整的SQL语句

23、标签名称:tag

功能说明:

TAG调用标签

使用实例:

{dede:tag row='30' sort='new'/}

参数说明:

row='30' 调用条数

sort='new' 排序方式 month,rand,week

24、标签名称:type

功能说明:

指定的单个栏目的链接标签

使用实例:

{dede:type}

<a href="[field:typelink /]">[field:typename /]</a>

{/dede:type}

参数说明:

typeid='' 指定栏目ID

25、标签名称:vote

功能说明:

投票标签

使用实例:

{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/}

参数说明:

id='' 数字,当前投票ID

lineheight='24' 表格高度

tablewidth='100%' 表格宽度

titlebgcolor='#EDEDE2' 投票标题背景色

titlebackground=''

tablebg ='' 投票表格背景色

为了更方便修改样式,建议在后台->辅助插件->投票管理,直接复制生成的HTML代码来使用 《 幻为您专业解答》

添加文章即可解决,文章添加方法如下:

登录网站后台

2选择普通文章

3选择添加文档

4填写文章内容

5点击保存即可

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede全站做移动跳转+适配,精通dede和PHP的来!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情