dedecms标签应用.docx_第1页
dedecms标签应用.docx_第2页
dedecms标签应用.docx_第3页
dedecms标签应用.docx_第4页
dedecms标签应用.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DedeCMS标签调用Page、Pagelist、Pagebreak 、Prenext【Page 标记】功能说明:表示分页页面的附加参数适用范围:列表模板语法: dede:page pagesize=每页结果条数/注:此标记在dedecms3.1中已经过期,dedecms3.1中直接把 pagesize属性加在 list 标记中,表示记录分页大小。点此在新窗口浏览图片【Pagelist 标记】功能说明:表示分页页码列表适用范围:列表模板(1)语法dede:pagelist listcolor=#990000 listitem=/(2)属性1 listsize 表示 123 这些项的长度 x 22 listitem 表示页码样式,可以把下面的值叠加index首页pre 上一页pageno 页码next 下一页end 末页option 下拉跳转框例: dede:pagelist listcolor=#990000 listitem=index pre pageno next end option/点此在新窗口浏览图片【Pagebreak 标记】功能说明:表示文档的分页链接列表。适用范围:仅文档模板。语法:dede:pagebreak/点此在新窗口浏览图片【Prenext 标记】功能说明:表示获取文档“上一篇下一篇”的链接列表。适用范围:仅文档模板。语法:dede:prenext/注:此标记默认为横向排列,如果你想用竖向排列,可以用dede:prenext function=str_replace( 下一篇:,下一篇:,me)/表示点此在新窗口浏览图片【Pagetitle 标记】功能说明:表示获取文档的分页标题适用范围:仅文档模板。(1)语法:dede:pagetitle style=select/(2)属性:style 表示分页标题的展示样式select 表示下拉框、link 表示文字直接链接点此在新窗口浏览图片【Fieldlist 标记】功能说明:获得附加表的所有字段信息。适用范围:仅文档模板。语法:dede:fieldlistfield:name/ : field:value/ /dede:fieldlist点此在新窗口浏览图片【Myad 标记】功能说明:获取广告代码适用范围:所有模板。建议在广告管理模块中获取,在此不作描述dede:list/dede:list【List 标记】功能说明:表示列表模板里的分页内容列表适用范围:仅列表模板 list_*.htm(1)基本语法dede:list col= titlelen= infolen= imgwidth= imgheight= orderby= pagesize=(2)属性1col 内容列数2titlelen 标题长度3infolen 内容摘要长度4imgwidth 缩略图宽5imgheight 缩略图高6orderby 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank7pagesize 分页大小(3)底层模板变量ID(同 id),title,iscommend,color,typeid,ismake,des cription(同 info),postnum,lastpost,shorttitlepubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,arcurl(同 filename),typeurl,stime(pubdate 的0000-00-00格式),textlink,typelink,imglink,image注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。 DedeCMS标签调用dede:Channelartlist标记【Channelartlist 标记】功能说明:用于获取当前频道的下级栏目的内容列表适用范围:封面模板(1)基本语法dede:channelArtlist typeid=0 col=2 tablewidth=100%dede:typefield:typename /更多./dede:typedede:arclist row=8field:title /dede:arclist /dede:channelArtlist除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套dede:type/dede:type 和 dede:arclist/dede:arclist 两个标记。(2) 属性1typeid=0 频道ID,默认的情况下,嵌套的标记使用的是这个栏目ID的下级栏目,如果你想用特定的栏目,可以用,分开多个ID。2col=2 分多列显示3tablewidth=100% 外围表格的大小DedeCMS标签调用dede:LOOP标记【LOOP 标记】功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作适用范围:所有模板(1) 基本语法dede:loop table= sort= row= if=底层模板dede:loop(2) 属性1 table 表示查询的数据表2 sort 用于排序的字段3 row 返回结果的条数4 if 查询条件(3)底层模板变量这个标记的底层模板变量即是被查询表的所有字段例:获取Phpwind论坛的最新主题贴子DedeCMS标签调用dede:Flink 标记等同 friendlink【Flink 标记】,等同 friendlink功能说明:用于获取友情链接适用范围:封面模板(1)基本语法dede:flink type= row= col= titlelen= tablestyle=/dede:flink(2)属性1type:链接类型,值:a. textall 全部用文字显示b. textimage 文字和图得混合排列c. text 仅显示不带Logo的链接d. image 仅显示带Logo的链接-2row:显示多少行,默认为4行3col:显示多少列,默认为6列4titlelen:站点文字的长度5tablestyle: 表示 DedeCMS标签调用dede:Vote标记【Vote 标记】功能说明:用于获取一组投票表单适用范围:封面模板(1) 基本语法dede:vote id=投票ID lineheight=22tablewidth=100% titlebgcolor=#EDEDE2titlebackground= tablebgcolor=#FFFFFF/dede:vote注:本标记直接生成投票的HTML表单,为了让你更方便修改其样式,建议在后台-投票管理的地方直接复制生成的HTML代码来使用。DedeCMS标签调用dede:Mytag标记【Mytag 标记】功能说明:用于获取自定义宏标记的内容适用范围:封面模板、列表模板、文档模板(1)基本语法dede:mytag typeid= name= ismake=/(2)属性1 typeid = 数字 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 - 通用标记(typeid=0)的同名标记”。2 name = 标记名称。3 ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。织梦标签dede:Autochannel标记使用方法【Autochannel 标记】功能说明:表示指定排序位置的单个栏目的链接适用范围:封面模板、列表模板、文档模板(1)语法 dede:autochannel partsort=/dede:autochannel(2)属性 partsort=栏目所在的排序位置(3)底层模板变量typename,typelink(仅表示栏目的网址)织梦标签dede:Type标记别名onetype【Type 标记】别名 onetype功能说明:表示指定的单个栏目的链接适用范围:封面模板、列表模板、文档模板(1)语法 dede:type typeid=/dede:type(2)属性 typeid=栏目ID(3)底层模板变量typename,typelink(仅表示栏目的网址)dede模板标签dede:Channel标记使用方法【Channel 标记】功能说明:用于获取栏目列表适用范围:封面模板、列表模板、文档模板(1)基本语法dede:channel row= type=自定义样式模板(InnerText)/dede:channel(2)属性1 row=数字 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)2 type = top,sun/son,selftype=top 表示顶级栏目type=son 或 sun 表示下级栏目type=self 表示同级栏目其中后两个属性必须在列表模板中使用。(3)底层模板变量ID,typename,typedir,typelink(仅表示栏目的网址)例:dede:channel type=topfield:typename/dede:channel注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type=son就表示栏目一的所有子类dede模板标签dede:Field标记使用方法【Field 标记】功能说明:用于获取特定栏目或档桉的字段值及常用的环境变量值适用范围:封面模板、列表模板、文档模板(1)基本语法dede:field name=字段名/(2) 系统分配的field板块模板:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl列表模板:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,栏目表dede_arctype的所有字段其中 position 为 “栏目一 栏目二” 这样形式的链接,title则为这种形式的标题文档模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id(同 ID,aid)(3) 文档所有内容字段档案dede_archives表 和 附加表的所有字段。织梦(dede)模板标签Arclist标记使用方法【Arclist 标记】这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist 这些标记都是由这个标记所定义的不同属性延伸出来的别名标记。功能说明:获取指定的文档列表适用范围:封面模板、列表模板、文档模板基本语法:dede:arclist typeid= row= col= titlelen= infolen=imgwidth= imgheight= listtype= orderby= keyword=底层模板(InnerText)/dede:arclist属性说明:1 typeid= 表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用,分开表示多个栏目;2 row= 表示返回文档列表总数;3 col= 表示分多少列显示(默认为单列);4 titlelen= 表示标题长度;5 infolen= 表示内容简介长度;6 imgwidth= 表示缩略图宽度;7 imgheight= 表示缩略图高度;8 type= 表示档案类型,其中空值、不使用这个属性或type=all时为普通文档 type=commend时,表示推荐文档,等同于 dede:coolart/dede:coolart type=image时,表示必须含有缩略图片的文档,等同于dede:imglist/dede:imglist、dede:imginfolist/dede:imginfolist type=spec时,表示专题,等同于标记dede:specart/dede:specart以上属性值可以联合使用,如: type=commend image 表示推荐的图片文档9 orderby= 表示排序方式,默认值是 senddate 按发布时间排列。 orderby=hot 或 orderby=click 表示按点击数排列 orderby=pubdate 按出版时间排列(即是前台允许更改的时间值) orderby=sortrank 按文章的新排序级别排序(如果你想使用置顶文章则使用这个属性) orderby=id 按文章ID排序 orderby=postnum 按文章评论次数排序 orderby=rank 随机获得指定条件的文档列表10 orderway= 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序。11 keyword= 表示含有指定关键字的文档列表,多个关键字用,分开12 channelid= 表示特定的频道模型ID,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)13 limit=起始,结束 表示限定的记录范围,row属性必须等于结束 - 起始,mysql的limit语句是由0起始的,如 “limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录,使用了本属性后,row属性将无效。14 att=数值 表示自定义属性值15 subday=天数 表示在多少天以内的文档,通常用于获取指定天数的热门文档、推荐文档、热门评论文档等16 partsort=排列位数 表示自动获得父栏目的所有子数中排列在第几位的栏目ID,标记为 dede:autolist/dede:autolist 时,使用本属性才有效。底层模板字段:ID(同 id),title,iscommend,color,typeid,ismake,des cription(同 info),writer,shorttitle,memberidpubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,arcurl(同 filename),typeurl,stime(pubdate 的0000-00-00格式),textlink,typelink,imglink,image其中:textlink = titletypelink = typenameimglink = image = 字段调用方法:field:varname/如:dede:arclist infolen=100field:textlink/field:info/dede:arclist注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能如: 给当天发布的内容加上 (new) 标志field:senddate runphp=yes$ntime = time();$oneday = 3600 * 24;if($ntime - me)$oneday) me = (new);else me = ;/field:senddate什么叫DedeCms底层模板为了构建网站,开始研究dedecms了。首先从dedetag开始。底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。因为这个概念很虚线,那么这个地方还是通过实践去说明吧。大家在标签测试的地方输入:这是使用默认底层模板的标签:dede:arclist row=10/dede:arclist 这是手工指定底层模板的标签:dede:arclist row=5 field:title / 点击:field:click/ /dede:arclist有一点需注意的是,在没有指定底层模板(Innettext)的时候,系统一般调用 templets/system 里的相应该文件作为底层模板。例如: dede:arclist row=10/dede:arclist 它实际由系统默认调用了 templets/system/part_arclist.htm 这文件的东西作为底层模板。这文件的内容是 field:title /那么 dede:arclist row=10/dede:arclist就等同于dede:arclist row=10field:title /dede:arclist既能用短标记,也能直接定义样式,又不依赖数据库,这是dedecms模板和其它模板的最大区别。在标记之间 field:/ 这些就是底层模板变量,这些标记一般也是属于 Dedecms 标签的模式,只是 符号改为了 ,因此底层模板中的标签也是具有DedeCms标签的特性的,例如,在底层模板中使用 field:global name=cfg_webname/ 同样可以表示全局变量 $cfg_webname。具体哪些标记可以用Innertext,那些不可以用,可以在/archives/templethelp/help/index.htm这页面参考。在此我简单介绍一下常用的 arclist 标记的底层模板字段及意义:arclist的底层模板字段实际上是对应相应该的主索引表的,在文档模板中则对应该主表和附加表,主表字段是一样的,我等会介绍一下,附加表的可以在模型里找。arclist常用的字段有:ID(同 id),title(标题),color,typeid(栏目ID),description(摘要,同 info),writer(作者),shorttitle(短标题),memberid(会员ID),pubdate(发布时间),click,litpic(缩图图,同 picname),typename(栏目名称),arcurl(网址,同 filename),typeurl(栏目网址)stime(pubdate 的0000-00-00格式,等同于field:pubdate function=strftime(%y-%m-%d,me)/),textlink(等同field:title/),typelink(等同field:title/),imglink(等同),image(等同),大家需注意的一个问题是:field:标记名称/这种写法是仅在底层模板中才用的。在文档模板中,字段是用 dede:field name=title/这样形式表示的。不过在一种特殊的情况下,Innertext是无效的,就是指定了 runphp=yes 属性,:A、function 扩展;B、在Innertext中直接编程。一、那么首先说 A、function 扩展:在标记中,可以使用 dede:标记名称 function=”函数名(me,其它参数)” /这样模式对标记的值进行处理,其中 me 就是表示标记当前的值,最终获得的结果是这个函数返回的值。大家不妨测试一下下面这个标签:dede:global function=file_get_contents() /下面再举个实用的例子(测试一下):dede:arclist row=5 field:title /field:pubdate function=strftime(%y-%m-%d %H:%M,me);/dede:arclist从实例中大家可以注意到,dede:xx/和field:xxx/都支持function扩展。实际上 field:xxx/ 这种模式也是dede标签解析器解析的,所以作用一样,它只是把 dede 换成 field 换成 在这里,function 属性的 function 不仅是用PHP自带的,用自己定义的也行。不过要注意function的格式,自定义的function不能用echo这样的输出,而是返回一个字符串,这样就行了。写好的函数放入 include/inc_channel_unit_functions.php 文件,因为dede核心都会调用这个文件。这里举个简单的函数:function testMyFunc($str)return $str. 增加了我的东西哦!;在标签中使用:dede:global name=cfg_webname function=testMyFunc(me)/用function扩展的好处是既可以增强系统的功能,又保持标记的简洁。二、下面介绍的是另一种扩展 B、在Innertext中直接编程这种方式和function编程的不同之处是,你可以把PHP代码直接写入到标签的底层模板代码的地方,不过需要注意的是,在这里的PHP代码并非完全意义上的PHP代码,它必须符合Dede限定的格式,即是最终返回值返回到 me 变量中,同样的是用 me 表示标记的最初的值。使用格式: dede:标记名称 runphp=yes PHP代码/dede:标记名称大家测试一下这个代码:dede:global name=cfg_webname runphp=yes$baidu = file_get_contents();preg_match_all(/(.*)/isU,$baidu,$baidus);me = $baidus10;/dede:global这里的 cfg_webname 不再显示当前站点名了,因为 me = $baidus10; 改变了它的值。在使用标记内编程或function扩展时,很多情况都可能会调用数据库。在V5版本中,DedeCms的数据库进行了改进,无论你新建多少个类的对像,最终打开的链接是只有一个的,并且会生成一个 $dsql 的全局数据库类的变量。以往有些懂dedecms数据库类的人在调用function扩展的时候,一般的做法是用 $dsql = new DedeSql(false); 这样新建一个类。实际上在V5中是不需要这样的。直接用 global $dsql;声明一下就能使用,并且在函数体中不要自行关闭(即执行 $dsql-Close())否则可能出错。那么在这里举个简单的例子(测试代码):dede:global runphp=yesglobal $dsql;$restr = ;$dsql-SetQuery(Select * From dede_feedback where ischeck=1 order by ID desc limit 5);$dsql-Execute(feedback);while($row = $dsql-GetArray(feedback)$restr .= $rowarctitle - .cn_substr($rowmsg,200).;me = $restr;/dede:global这代码是调用最新评论的。dede本身没有提供直接调用评论的标签,一般懂的人用loop标签调用,不过在本版中,新增的SQL标签会更简单。在 DedeCms V5 中有一个标签dede:sql sql=SQL语句 limit 记录底层模板/dede:sql我现在改一下刚才调用评论的地方(测试代码):dede:sql sql=Select * From dede_feedback where ischeck=1 order by ID desc limit 5field:arctitle/ - field:msg/dede:sql这结果应该和上面的代码是一样的。为了补允调用全站数据的不足,V5中新增了 arcfulllist 标记,它的作用与 arclist 标记有点类同,不示不同的是 arcfulllist 里的文件名有时候可能是动态的,这因为它是使用搜索时用的那个简单索引表。在专题文章、相关文章中默认都是使用 arcfulllist 调用指定的 id 的文档的。由于这标记可能造成文件名不同步,我们系统后面增加了文档名批量修正功能,但为了防止忘记操作,建议建立栏目就设定好文档命名规则,以后不要经常更改。一就是常用的模型,二是新出的模块,三是插件。大家进到Dede管理后台“频道管理-内容模型管理”的地方可以看到:分类信息专题普通文章图片集软件Flash产品这些都是内置的模型。大家也可以自己新建一个模型,有不少人问:Dedecms的文存储在哪里呀?下面我一步一步的教大家建立一个用文本存储的文章模型。首先“增加一个新模型”,建立好后“添加字段”,然后转向栏目管理的地方。建立好后转到栏目管理的地方新建一个顶级栏目,内容模型选刚才建好的那个。建立好栏目后,随意在那个栏目增加一篇文章。预览文章,会发生新增的模型显示的文档。现在再回到频道模型管理的地方,在新建的频道点击“模板”。对于类同的模型,最好是把类同的模板作为当前模型的模板。如刚才建立的模型,实际上模板和普通文章模板是一样的。关于字段的问题,在文档模板中字段是用dede:field name=字段名/表示。例如在软件模型中文件类型 filetype 单行文本(varchar) 固化表单 修改语言 language 单行文本(varchar) 固化表单 修改软件类型 softtype 单行文本(varchar) 固化表单 修改授权方式 accredit 单行文本(varchar) 固化表单 修改操作系统 os 单行文本(varchar) 固化表单 修改软件等级 softrank 整数类型 固化表单 修改官方网址 officialurl 单行文本(varchar) 固化表单 修改语言这字段就可以用 dede:field name=language/ 表示,此外,title , keywords,description 这些实际上主索引表的东西,刚才说模板时已经介绍过它的含义了。有用户提过一个问题,就是关于自定义模型如何在表布表单中调整字段的顺序。Dedecms目前没有这选项,需要改的必须用 phpmyadmin 进入 it_channeltype 这个表。编辑 fieldset 这里的XML,调一下位置就行了。此外大家要区别一下自动模型和系统模型的区别,系统模型是固化了的,要调整必须自己修改程序,对于普通人是无法改的。不过这版本允许自行增加一些字段在里面。因为这次讲座是个中级讲座,模型这块我就不太深入的讲解了,最后介绍一下插件和模块。插件和模块DEDE增加新模型,必须一步到位,如果不用phpmyadmin,输入错误什么的,在后台修改不了。插件在Dedecms中是就是一些小的实际的程序的集合,它可以简单的安装和删除,不过安装和删除仅去去掉数据库的索引记录,并非进行真正的安装。官方网前自带的插件有:文件管理器站内新闻发布友情链接模块留言簿模块投票模块论坛扩展广告管理正则规则测试器随机模板防采集木马扫描检测数据转换与导入实际上很多情况下单用插件是满足不了系统的需求的,实际上很多情况下单用插件是满足不了系统的需求的。因此Dedecms V5提出了模块的概念。模块是对系统模型的一个补充,因为Dedecms的模板解析机制相对复杂,如果所有东西都依赖模型,就结果只有一个:速度越来越慢。而使用模块就补充了这方面的不足。在 Dedecms V5 的菜单中“扩展模块”里放的就是Dedecms的模块。模块文件是一个标准化的xml文件,它即包含了模块安装删除的数据,也偶包含了图片等二进制文件。有些人问我,为什么在DedeCms V5的安装包里没发现ask、group等目录?因为这些东西都封装起来了,如果你不安装它,是不会看到这些文件的,这样就能尽大限度满足一些站长想要功能多,一些想要功能实用的需求。至于如何开发模块,我们会出一个说明,不过在今天的课程中就不讨论。DEDE首页调用分类信息,DEDE分类调用标签DEDE首页调用分类信息,DEDE分类调用标签: 招聘求职 dede:arclistsg orderby=id titlelen=60 row=10 channelid=-8 typeid=39,40 field:pubdate function=MyDate(y-m-d,me)/field:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论