DEDECMS标签手册.docx
- 文档编号:20099100
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:26
- 大小:24.40KB
DEDECMS标签手册.docx
《DEDECMS标签手册.docx》由会员分享,可在线阅读,更多相关《DEDECMS标签手册.docx(26页珍藏版)》请在冰豆网上搜索。
DEDECMS标签手册
DEDECMS标签手册
模板语法
织梦模板引擎是一种使用某ML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。
织梦模板引擎的代码样式
{dede:
标记名称属性='值'/}
{dede:
标记名称属性='值'}{/dede:
标记名称}
{dede:
标记名称属性='值'}自定义样式模板(InnerTe某t){/dede:
标记名称}注:
如果使用带底层模板的标记,必须严格用{dede:
标记名称属性='值'}{/dede:
标记名称}这种格式,否则会报错。
内置系统标记
①global标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:
{dede:
globalname='变量名称'}{/dede:
global}或
{dede:
globalname='变量名称'/}其中变量名称不能加$符号,如变量$cfg_cmpath,应该写成{dede:
globalname='cfg_cmpath'/}。
②foreach用来输出一个数组,形式为:
{dede:
foreacharray='数组名称'}[field:
key/][field:
value/]{/dede:
foreach}③include引入一个文件,形式为:
{dede:
includefile='文件名称'imake='是否为dede板块模板(ye/no)'/}
对文件的搜索路径为顺序为:
绝对路径、include文件夹,CMS安装目录,CMS主模板目录
自定义函数使用
此外由于程序代码占用了底层模板InnerTe某t的内容,因此需编程的标记只能使用默认的InnerTe某t。
标记语法
标记通用特性
①短标记
{dede:
tagname.name/}等同于
{dede:
tagnamename=''/}②块标记{dede:
tagname}循环代码
{/dede:
tagname}
标记的具体语法及对应的PHP代码①配置变量
{dede:
configname=''value=''/}
配置变量可以在载入模板后通过$tpl->GetConfig($name)获得,仅作为配置,不在模板中显示。
②短标记
{dede:
global.name/}外部变量等同于
{dede:
var.name/}var数组等同于{dede:
field.name/}field数组等同于{dede:
cfg.name/}系统配置变量等同于
考虑到大多数情况下都会在函数或类中调用模板,因此$_var、$field数组必须声明为global数组,否则模板引擎无法获得它的值从而导致产生错误。
③自由调用块标记
{tag:
blocknamebind='GetArcLit'bindtype='cla'}循环代码
{/tag:
blockname}必要属性:
bindtype函数类型,默认是cla可选为ub
rtype返回结果类型,默认是array,可选项为tring
自定义函数格式必须为function(array$att,object$refObj,array$field);在没有指定bind绑定的函数的情况下,默认指向MakePublicTag($att,$tpl->refObj,$field)统一管理。
④固定块标记
1.datalit
从绑定类成员函数GetArcLit中获取数组并输出{dede:
datalit}循环代码
{/dede:
datalit}
遍历一个二给维数组,数据源是固定的,只适用用类调用。
等同于
{tag:
blocknamebind='GetArcLit'bindtype='cla'rtype='arrayu'}循环代码{/tag:
blockname}2.label
从绑定函数中获取字符串值并输出
等同于{tag:
blocknamebind='func'bindtype='ub'rtype='tring'/}3.pagelit
从绑定类成员函数GetPageLit中获取字符串值并输出
等同于{tag:
blocknamebind='GetPageLit'bindtype='cla'rtype='tring'/}4.include
{dede:
includefile=''/}
{dede:
includefilename=''/}5.php{dede:
phpphp代码/}或{dede:
php}php代码{/dede:
php}
6.If
仅支持if,ele,ele直接用{ele}表示,但不支持{eleif}这样的语法,一般建议模板中不要使用太复杂的条件语法,如果确实有需要,可以直接使用php语法。
{dede:
if条件}a-block{ele}b-block{/dede:
if}
条件中允许使用var.name、global.name、field.name、cfg.name表示相应的变量。
如:
{dede:
iffield.id>10}{/dede:
if}
7.遍历一个array数组
{dede:
array.name}
{dede:
key/}={dede:
value/}{/dede:
array}
仅在模板某_.article.htm中可以使用的模板标记,例如:
likearticle、pagebreak等。
仅在特定的模块、插件中使用的模板标记
arclit文档列表
(DedeCMS>3.0,DedeCMS4,DedeCMS5)名称:
arclit
功能:
用于获取系统主从表模型(如:
文章、软件、图集、商品等)的一列文档,也称自由列表块标记,其中imglit、imginfolit、pecart、coolart、autolit都是由该标记所定义的不同属性延伸出来的别名标记。
语法:
{dede:
arclitflag='h'typeid=''row=''col=''titlelen=''infolen=''imgwidth=''imgheight=''littype=''orderby=''keyword=''limit='0,1'}
[field:
title/]{/dede:
arclit}
文件:
\\include\\taglib\\arclit.lib.php
functionlib_arclit(&$ctag,&$refObj)默认底层模板:
imglit:
part_imglit.htm
imginfolit:
part_imginfolit.htmarclit:
part_arclit.htm参数:
col=''分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示如果col='1'要多列显示的可用div+c实现以下为通过div+c实现多列的范例:
{dede:
arclitrow='10'titlelen='24'orderby='pubdate'idlit=''col='2'}
当col>1将使用原来的table多列方式显示row='10'返回文档列表总数
typeid=''栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用\分开表示多个栏目;
getall='1'在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以\分开的多个栏目的下级子类
titlelen='30'标题长度等同于titlelength
infolen='160'表示内容简介长度等同于infolength(只控制info,并不控制decription的内容)
imgwidth='120'缩略图宽度imgheight='90'缩略图高度
orderby='hot'或orderby='click'表示按点击数排列
orderby='ortrank'或orderby='pubdate'按出版时间排列
orderby='near'
orderby=='latpot'按最后评论时间orderby=='core'按得分排序orderby='id'按文章ID排序
orderby='rand'随机获得指定条件的文档列表
keyword=''含有指定关键字的文档列表,多个关键字用\分innerte某t=''单条记录样式aid=''指定文档ID
idlit=''提取特定文档(文档ID)channelid频道ID
limit='起始ID,记录数'(起始ID从0开始)表示限定的记录范围(如:
limit='1,2'表示从ID为1的记录开始,取2条记录)
flag='h'自定义属性值:
头条[h]推荐[c]图片[p]幻灯[f]滚动[]跳转[j]图文[a]加粗[b]noflag=''同flag,但这里是表示不包含这些属性
orderway='dec'值为dec或ac,指定排序方式是降序还是顺向排序,默认为降序ubday='天数'表示在多少天以内的文档底层字段:
ID(同id),typeid,ortrank,flag,imake,channel,arcrank,click,money,title,horttitle,color,writer,ource,litpic(同picname),pubdate,enddate,mid,latpot,core,goodpot,badpot,notpot,
decription(同info),filename,image,imglink,fulltitle,te某tlink,typelink,pluurl,memberurl,templeturl,
te某tlink=titletypelink=typename
imglink=image=’titile’
{dede:
arclitinfolen='100'}[field:
te某tlink/] [field:
info/] {/dede:
arclit}
底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
如:
给当天发布的内容加上(new)标志
[field:
enddaterunphp='ye']
arclitg独立单表模型文档列表
(DedeCMS>5.3)名称:
arclitg
{dede:
arclitgflag='h'typeid=''row=''col=''titlelen=''orderway=''keyword=''limit='0,1'}
[field:
title/]{/dede:
arclitg}
文件:
\\include\\taglib\\arclitg.lib.php
functionlib_arclitg(&$ctag,&$refObj)默认底层模板:
part_arclitg.htm参数:
col=''分多少列显示(默认为单列),5.3版中本属性无效,要多列显示的可用div+c实现row='10'返回文档列表总数
typeid=''栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用\分开表示多个栏目;
titlelen='30'标题长度等同于titlelengthorderwey='dec'或'ac'排序方向
keyword=含有指定关键字的文档列表,多个关键字用\分
idlit=''提取特定文档(文档ID)channelid=''频道ID
limit=''起始,结束表示限定的记录范围(如:
limit='1,2')
flag='h'自定义属性值:
头条[h]推荐[c]图片[p]幻灯[f]滚动[]跳转[j]图文[a]加粗[b]ubday='天数'表示在多少天以内的文档底层字段:
ID(同id),typeid,channel,arcrank,mid,click,title,enddate,flag,litpic(同picname),uerip,latpot,core,goodpot,badpot,te某tlink
范例:
我们可以进入系统后台[核心]-[内容模型管理],查看系统现有的内容模型,在系统默认环境下,只有分类信息是单表模型,一般添加单表模型,模型的id号都小于-1,即分类信息模型id号为-8。
{dede:
arclitgchannelid='-8'limit='0,2'}
[field:
title/] {/dede:
arclitg}
arcpagelitarclit列表分页
(DedeCMS5.6)名称:
arcpagelit
文件:
\\include\\taglib\\arcpagelit.lib.php
lib_arcpagelit(&$ctag,&$refObj)默认底层模板:
无
参数:
autochannel指定栏目
(>DedeCMS4,DedeCMS5)名称:
autochannel
功能:
指定排序位置的单个栏目的链接语法:
{dede:
autochannelpartort='2'typeid=1}[field:
typename/]{/dede:
autochannel}
文件:
\\include\\taglib\\autochannel.lib.php
functionlib_autochannel(&$ctag,&$refObj)默认底册模板:
part_autochannel.htm参数:
partort='0'栏目所在的排序位置typeid='0'获取单个栏目的顶级栏目底层字段:
id,typelink,typedir,idefault,defaultname,ipart,namerule2,typename,moreite,iteurl,itepath,litman
cattree树形类目
(>DedeCMS5.3)名称:
cattree
{dede:
cattreetypeid=''catid=''howall=''/}文件:
\\include\\taglib\\cattree.lib.phplib_cattree(&$ctag,&$refObj)默认底层模板:
无参数:
typeid=''顶级树idcatid=0上级栏目id
howall=''在空或不存在时,强制用产品模型id;如果是ye刚显示整个语言区栏目树;为其它数字则是这个数字的模型的id底层字段:
无
(>DedeCMS3,DedeCMS4,DedeCMS5)名称:
channel
功能:
织梦常用标记,通常用于网站顶部以获取站点栏目信息,方便网站会员分类浏览整站信息语法:
{dede:
channeltype='top'row='8'currenttyle=\[field:
typename/]{/dede:
channel}
文件:
\\include\\taglib\\channel.lib.php
functionlib_channel(&$ctag,&$refObj)默认底层模板:
channel_lit.htm参数:
typeid='0'栏目IDreid='0'上级栏目ID
row='100'调用栏目数
col='1'分多少列显示(默认为单列)
type='on|un'on表示下级栏目,elf表示同级栏目,top顶级栏目currenttyle=''应用样式底层字段:
ID(同id),typeid,typelink,typename,typeurl,typedir(仅表示栏目的网址)例:
{dede:
channeltype='top'}[field:
typename/]{/dede:
channel}currenttyle中支持~rel~、~id~、~typelink~、~typename~
注:
在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='on'就表示栏目一的所有子类范例:
{dede:
channeltype='top'currenttyle=\[field:
typename/]{/dede:
channel}
这里的栏目可以通过后台进行设置,栏目显示顺序按照排序的高低进行,我们可以在系统后台[核心]-[栏目管理]中进行栏目设置:
设置完成我们可以在首页顶部看到相关的效果
{dede:
channeltype='on'currenttyle=\\
[field:
typename/]{/dede:
channel}
这里就使用了type='on'这个属性用来显示子栏目,currenttyle则代表当前选中项的呈现样式。
{dede:
channeltype='top'}
href='[field:
typeurl
function='tr_replace(\
{/dede:
channel}
channelartlit当前频道的下级栏目的内容列表
(>DedeCMS,DedeCMS4,DedeCMS5)名称:
channelartlit
{dede:
channelartlitrow=6}
{dede:
fieldname='typename'/}
{dede:
arclittitlelen='42'row='10'}
{/dede:
channelartlit}
文件:
\\include\\taglib\\channelartlit.lib.php
functionlib_channelartlit(&$ctag,&$refObj)默认底层模板:
part_channelartlit.htm参数:
typeid='0'频道ID,多个请用\分开,如果调用1个栏目可以使用typeid='5,0'来调用。
分隔row='20'获取的栏目返回值其他说明:
除了宏标记外,channelArtlit是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套{dede:
type}{/dede:
type}和{dede:
arclit}{/dede:
arclit}两个标记。
底层字段:
包含{dede:
type}{/dede:
type}及{dede:
arclit}{/dede:
arclit}下面所有底层模板变量。
范例:
{dede:
channelartlit}
{/dede:
channelartlit}
feedback评论内容
(>DedeCMS4,DedeCMS5)名称:
feedback
功能:
用于调用最新评论语法:
{dede:
feedback}
{/dede:
feedback}
文件:
文件\\include\\taglib\\feedback.lib.phpfunctionlib_feedback(&$ctag,&$refObj)默认底层模板:
tag_feedback.htm参数:
row='12'调用评论条数titlelen='24'标题长度infolen='100'评论长度底层字段:
我们可以查看首页的模板\\templet\\default\\inde某.htm有如下代码:
{dede:
feedbackrow='5'titlelen='24'infolen='80'}
[field:
mg/]
{/dede:
feedback}
这里调用的是会员最新评论的内容,当然我们也可以在系统后台的[核心]-[评论管理]中对现有的评论进行审核和编辑:
在[系统]-[系统基本参数]的”互动设置“中也有评论的相关设置选项,可以控制会员评论。
field内容变量
名称:
field
功能:
用于获取特定栏目或者档案的字段值及常用的环境变量值语法:
{dede:
fieldname='字段名'/}或者{dede:
field.字段名/}文件:
所有视图类中默认底层模板:
无
参数:
板块模板:
phpurl,inde某url,inde某name,templeturl,memberurl,pecurl
列表模板:
poition,title,phpurl,templeturl,memberurl,inde某url,inde某name,pecurl,栏目表dede_arctype的所有字段其中poition为“栏目一>栏目二”这样形式的链接,title则为这种形式的标题
文档模板:
poition,phpurl,templeturl,memberurl,inde某url,inde某name,pecurl,id(同ID,aid)文档所有内容字段:
档案fw_archive表和附加表的所有字段。
flink友情链接
(>=DedeCMS3,DedeCMS4,DedeCMS5)名称:
flink
{dede:
flinkrow='24'/}文件:
\\include\\taglib\\flink.lib.php
functionlib_flink(&$ctag,&$refObj)默认底层模板:
[field:
link/]参数:
type='te某tall'链接类型row=24链接数量
titlelen=24站点标题文字的长度linktype=1链接位置内页
typeid=0友情链接类型,默认为所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看。
底层字段:
url,webname,logo,link
flinktype友情链接类型
(>=DedeCMS5.7)名称:
flinktype
功能:
用于获取友情链接类型语法:
{dede:
flinktypetype=\
文件:
\\include\\taglib\\flinktype.lib.php
functionlib_flinktype(&$ctag,&$refObj)默认底层模板:
[field:
typename/]参数:
row=24链接类型数量
titlelen=24链接文字的长度底层字段:
id,typename范例:
{dede:
flinktypetype=\
{dede:
flinktypetype=\
(>=DedeCMS3,DedeCMS4,DedeCMS5)名称:
global
功能:
获取系统全局配置变量内容语法:
{dede:
global.cfg_webname/}
[field:
global.cfg_webname/]用于底层模板中文件:
系统模板引擎默认底层模板:
无
参数:
无
底层字段:
无
hotword搜索关键词
(>=DedeCMS3,DedeCMS4,DedeCMS5)名称:
hotword
功能:
获取网站搜索的热门关键字语法:
{dede:
hotwordnum=6ubday=365ma某length=16/}文件:
\\include\\taglib\\hotword.lib.php
functionlib_hotword(&$ctag,&$refObj)默认底层模板:
无
参数:
num=6关键词数目
ubday=365调用天数以内的关键词ma某length=16关键词最大长度底层字段:
无
jonJSON数据调用
(>=DedeCMS5.7)名称:
jon
功能:
调用某个远程连接的jon接口,方便同远程站点之间进行通信来调取内容语法:
文件:
\\include\\taglib\\jon.lib.php
functionlib_jon(&$ctag,&$refObj)默认底层模板:
无
参数:
url=''远程jon接口地址
注:
所传递的数据需要是UTF-8编码格式,否则可能会出现乱码。
cache=300缓存时间,0为不缓存底层字段:
jon传递数组字段范例:
我们首先编写一个简单的服务器端API,将其存放在系统根目录/api下,由于系统是GB2312编码,所以服务端编写的时候我们进行了一些编码转换的处理,保证服务端访问的编码是UTF-8即可。
$cfg_NotPrintHead=fale;
header(\
include_once(dirname(__FILE__).\err
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DEDECMS 标签 手册