Maison > Article > Tutoriel CMS > Comment utiliser la balise dedecms
a trois façons d'utiliser : 1. "{dede : attribut du nom de la balise = 'valeur'}" ; 2. "{dede : attribut du nom de la balise = 'valeur'} {/dede : nom de la balise}" ; 3. "{dede:mark nameattribut='value'}modèle personnalisé (InnerText){/dede:mark name}".
Il est très significatif de comprendre la connaissance du moteur de modèles Dreamweaver. Le moteur de modèles est un analyseur de modèles qui utilise des espaces de noms XML. Le plus grand avantage de l'utilisation de l'analyseur Dreamweaver pour analyser les modèles est que vous pouvez facilement spécifier les attributs de la balise, ce qui donne l'impression d'utiliser du HTML, ce qui rend le code du modèle très intuitif et flexible. La nouvelle version du moteur de modèles DreamWeaver peut non seulement analyser le modèle, mais également analyser les mauvaises balises dans le modèle.
1. Les styles de code du moteur de modèles Dreamweaver ont les formes suivantes :
{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'}{/dede:标记名称}
{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}
Conseils :
Si vous utilisez une balise avec un modèle sous-jacent, vous devez strictement utiliser {dede : tag nameattribut = 'value'} {/dede : tag name }. format, sinon une erreur sera signalée.
[Tag Arclist]
Cette balise est la balise la plus couramment utilisée dans DedeCms, également appelée balise de liste gratuite, parmi lesquelles hotart, Coolart, likeart, artlist, imglist, imginfolist, specart et autolist sont toutes des balises alias étendues par les différents attributs définis par cette balise.
Description de la fonction : Obtenir la liste de documents spécifiée
Portée applicable : Modèle de couverture, modèle de liste, modèle de document
Syntaxe de base :
{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
Modèle sous-jacent (InnerText){/dede:arclist}
Description de l'attribut :
[1] typeid='' représente l'ID de colonne, qui n'a généralement pas besoin d'être spécifié dans les modèles de liste et les modèles de fichiers. Dans le modèle de couverture, "," est autorisé à représenter plusieurs colonnes séparément ; 🎜> [2] row='' signifie le nombre total de listes de documents renvoyées
[3] col='' signifie le nombre de colonnes à afficher (la valeur par défaut est une seule colonne) ; [4] titlelen='' signifie la longueur du titre
[5] infolen='' représente la longueur de l'introduction du contenu
[6] imgwidth='' représente la largeur de la vignette ;
[7] imgheight='' représente la hauteur de la vignette
[8] type='' indique le type de fichier, où une valeur nulle, cet attribut n'est pas utilisé ou type='all ' est un document normal
§ type='commend ', indique les documents recommandés, ce qui équivaut à {dede:coolart}{/dede:coolart}
§ type='image', indique les documents qui doivent contenir des images miniatures, équivalentes à {dede:imglist} {/dede:imglist}、{dede:imginfolist} {/dede:imginfolist}
§ Lorsque type='spec', il indique le topic, qui équivaut à la marque {dede:specart}{/dede:specart}
Les valeurs d'attribut ci-dessus peuvent être utilisées en combinaison, par exemple : type='commend image' indique les documents image recommandés
[9] orderby='' indique la méthode de tri, la valeur par défaut est senddate, classée par heure de sortie .
§ orderby='hot' ou orderby='click' signifie trier par nombre de clics
§ orderby='pubdate' signifie trier par heure de publication (c'est-à-dire la valeur temporelle qui la réception permet de changer)
§ orderby='sortrank' Trier selon le nouveau niveau de tri de l'article (utilisez cet attribut si vous souhaitez utiliser des articles épinglés)
§ orderby=' id' Trier par ID d'article
, précise si la méthode de tri est l'ordre décroissant ou le tri direct. La valeur par défaut est l'ordre décroissant.
[11] keyword='' représente une liste de documents contenant des mots-clés spécifiés, plusieurs mots-clés sont séparés par ","
[12] channelid='' représente un ID de modèle de chaîne spécifique, canaux intégrés : sujets (-1), articles (1), albums photos (2), Flash (4), logiciels (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,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
其中:
textlink = 34453e2ac4fcbd442412e399678544cbtitle5db79b134e9f6b82c0b36e0489ee08ed
typelink = 61e94dc331502cdd22b5b4f7595ae405typename5db79b134e9f6b82c0b36e0489ee08ed
imglink = 34453e2ac4fcbd442412e399678544cb075d54bd63f566920180777d95fb87bf5db79b134e9f6b82c0b36e0489ee08ed
image = 075d54bd63f566920180777d95fb87bf
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'} [field:textlink/] <br> [field:info/] <br> {/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes'] $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>"; else @me = ""; [/field:senddate]
【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表 和 附加表的所有字段。
【Channel 标记】
功能说明:用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun/son,self
type='top' 表示顶级栏目
type='son' 或 'sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
例:
{dede:channel type='top'} <a href='[field:typelink /]'>[field:typename/]</a> {/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类
【Type 标记】别名 onetype
功能说明:表示指定的单个栏目的链接
适用范围:封面模板、列表模板、文档模板
(1)语法
{dede:type typeid=''}{/dede:type}
(2)属性
typeid='栏目ID'
(3)底层模板变量
typename,typelink(仅表示栏目的网址)
【Autochannel 标记】
功能说明:表示指定排序位置的单个栏目的链接
适用范围:封面模板、列表模板、文档模板
(1)语法
{dede:autochannel partsort=''}{/dede:autochannel}
(2)属性
partsort='栏目所在的排序位置'
(3)底层模板变量
typename,typelink(仅表示栏目的网址)
【Mytag 标记】
功能说明:用于获取自定义宏标记的内容
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:mytag typeid='' name='' ismake=''/}
(2)属性
[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 -> 通用标记(typeid=0)的同名标记”。
[2] name = '' 标记名称。
[3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
【Vote 标记】
功能说明:用于获取一组投票表单
适用范围:封面模板
(1) 基本语法
{dede:vote id='投票ID' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'} {/dede:vote}
注:本标记直接生成投票的HTML表单,为了让你更方便修改其样式,建议在后台->投票管理的地方直接复制生成的HTML代码来使用。
【Flink 标记】,等同 friendlink
功能说明:用于获取友情链接
适用范围:封面模板
(1)基本语法
{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}
(2)属性
[1]type:链接类型,值:
a. textall 全部用文字显示
b. textimage 文字和图得混合排列
c. text 仅显示不带Logo的链接
d. image 仅显示带Logo的链接
-------------------------------------
[2]row:显示多少行,默认为4行
[3]col:显示多少列,默认为6列
[4]titlelen:站点文字的长度
[5]tablestyle: 表示 6aee7a10b0c3b50251b87c9490a839cf
【Mynews 标记】
功能说明:用于获取站内新闻
适用范围:封面模板
(1) 基本语法
{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}
(2)属性
[1] row 新闻条数
[2] titlelen 标题长度
(3)底层模板变量
[field:title/]、[field:writer/]、 [field:senddate function="strftime('%y-%m-%d %H:%M',@me)"/](时间)、[field:body/]
【LOOP 标记】
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
适用范围:所有模板
(1) 基本语法
{dede:loop table=' sort='' row='' if=''}
底层模板
{/dede:loop}
(2) 属性
[1] table 表示查询的数据表
[2] sort 用于排序的字段
[3] row 返回结果的条数
[4] if 查询条件
(3)底层模板变量
这个标记的底层模板变量即是被查询表的所有字段
例:获取Phpwind论坛的最新主题贴子
{dede:loop table='pw_threads' sort='tid' row='8' if=''}<br> <a href="/bbs/read.php?tid=[field:tid/]"> ·[field:subject function="cn_substr('@me',30)"/] ([field:lastpost function="date('m-d H:M','@me')"/])</a> <br/> {/dede:loop}
【Channelartlist 标记】
功能说明:用于获取当前频道的下级栏目的内容列表
适用范围:封面模板
(1)基本语法
{dede:channelArtlist typeid=0 col=2 tablewidth='100%'} <table width="99%" border="0" cellpadding="3" cellspacing="1" bgcolor="#BFCFA9"> <tr> <td bgcolor="#E6F2CC"> {dede:type} <table border="0" cellpadding="0" cellspacing="0" width="98%"> <tr> <td width='10%' align="center"><img src='[field:global name='cfg_plus_dir'/]/img/channellist.gif' width='14' height='16'></td> <td width='60%'> <a href="[field:typelink /]">[field:typename /]</a> </td> <td width='30%' align='right'> <a href="[field:typelink /]">更多...</a> </td> </tr> </table> {/dede:type} </td> </tr> <tr> <td height="150" valign="top" bgcolor="#FFFFFF"> {dede:arclist row="8"} ·<a href="[field:arcurl /]">[field:title /]</a><br> {/dede:arclist} </td> </tr> </table> <div style='font-size:2px'> </div>
{/dede:channelArtlist}
除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套 {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
(2) 属性
[1]typeid=0 频道ID,默认的情况下,嵌套的标记使用的是这个栏目ID的下级栏目,如果你想用特定的栏目,可以用","分开多个ID。
[2]col=2 分多列显示
[3]tablewidth='100%' 外围表格的大小
【List 标记】
功能说明:表示列表模板里的分页内容列表
适用范围:仅列表模板 list_*.htm
(1)基本语法
{dede:list col='' titlelen='' infolen='' imgwidth='' imgheight='' orderby='' pagesize=''}{/dede:list}
(2)属性
[1]col 内容列数
[2]titlelen 标题长度
[3]infolen 内容摘要长度
[4]imgwidth 缩略图宽
[5]imgheight 缩略图高
[6]orderby 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank
[7]pagesize 分页大小
(3)底层模板变量
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),postnum,lastpost,shorttitle
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。
【Page 标记】
功能说明:表示分页页面的附加参数
适用范围:列表模板
语法:
{dede:page pagesize="每页结果条数"/}
注:此标记在dedecms3.1中已经过期,dedecms3.1中直接把 pagesize属性加在 list 标记中,表示记录分页大小。
【Pagelist 标记】
功能说明:表示分页页码列表
适用范围:列表模板
(1)语法
{dede:pagelist listsize='3' listitem=''/}
(2)属性
[1] listsize 表示 [1][2][3] 这些项的长度 x 2
[2] listitem 表示页码样式,可以把下面的值叠加
index 首页
pre 上一页
pageno 页码
next 下一页
end 末页
option 下拉跳转框
例:
{dede:pagelist listsize='3' listitem='index pre pageno next end option'/}
【Pagebreak 标记】
功能说明:表示文档的分页链接列表。
适用范围:仅文档模板。
语法:
{dede:pagebreak/}
【Prenext 标记】
功能说明:表示获取文档“上一篇/下一篇”的链接列表。
适用范围:仅文档模板。
(1)语法:
{dede:prenext/}
(2)属性:
[1] get 获取连接类型(仅2007版),get='' 同V4显示横排的上下页连接, get='pre' 上一篇的连接 get='next' 下一篇连接
注:此标记默认为横向排列,如果你想用竖向排列,可以用{dede:prenext function="str_replace(' 下一篇:','55e67e4c219563c7019b9d42f2222647下一篇:',@me)"/}
表示
【Pagetitle 标记】
功能说明:表示获取文档的分页标题
适用范围:仅文档模板。
(1)语法:{dede:pagetitle style='select'/}
(2)属性:style 表示分页标题的展示样式
select 表示下拉框、link 表示文字直接链接
【Fieldlist 标记】
功能说明:获得附加表的所有字段信息。
适用范围:仅文档模板。
语法:
{dede:fieldlist} [field:name/] : [field:value/] <br> {/dede:fieldlist}
【Myad 标记】
功能说明:获取广告代码
适用范围:所有模板。
建议在广告管理模块中获取,在此不作描述
##############################################################
## 以下仅适用于DedeCms2007版
##############################################################
【Ask 标记】
功能说明:用于获取最新的问答的主题。
适用范围:非扩展模块所有模板。
(1)语法:{dede:ask row='' qtype=''}底层模板{/dede:ask}
(2)属性:
[1] row 记录条数。
[2] qtype 类型 默认为新回复问题,commend推荐问题 ok已解决问题 high高分问题
(3)底层模板:
<dd> <span class="tclass">[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span> <span class="tlink"><a href="[field:url/]">[field:title/]</a></span> </dd> [field:typeurl/] 栏目网址 [field:tidname/] 栏目名称 [field:url/] 问题网址 [field:title/] 问题标题 [field:id/] 问题id
【Sql 标记】
功能说明:用于从模板中用一个SQL查询获得其返回内容。
适用范围:非扩展模块所有模板。
(1)语法:
{dede:sql sql=""}底层模板{/dede:sql}
(2)属性:
[1] sql 完整的SQL查询语句。
(3)底层模板:
SQL语句中查出的所有字段都可以用[field:字段名/]来调用。
【Group 标记】
功能说明:获取特定条件的圈子。
适用范围:非扩展模块所有模板。
(1)语法:
{dede:group row="个数" orderby='排序条件' }底层模板{/dede:group}
(2)属性:
[1] row 返回结果个数。
[2] orderby 排序条件,一般为: 默认 threads 发贴量, members 会员数, hits 浏览量, stime 创建时间。
(3)底层模板:
[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子ID
【Groupthread 标记】
功能说明:获取圈子最新发表的主题。
适用范围:非扩展模块所有模板。
(1)语法:
{dede:groupthread gid='' row='' orderby='' orderway=''}底层模板{/dede:groupthread}
(2)属性:
[1] gid='' 圈子分类,为空或0刚表示所有分类
[2] row='' 条数
[3] orderby='' 排序条件 默认 dateline
[4] orderway=' 排序方向 desc 或 asc
(3)底层模板:
[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子ID
【booklist 标记】
功能说明:用于获取最新连载图书。
适用范围:连载书库。
(1)语法:
{dede:booklist row='' booktype='' titlelen='' orderby='' catid='' author='' imgwidth='' imgheight=''}底层模板{/dede:booklist}
(2)属性:
[1] row='' 行数
[2] booktype='' 图书类型 1 漫画,0 小说, -1 或默认 全部
[3] titlelen='' 标题长度
[4] orderby='' 排序
[5] catid='' 栏目ID
[6] author='' 作者
[7] imgwidth=''
[8] imgheight=''
(3)底层模板:
contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypename
【catalog 标记】
功能说明:用于获取书库的栏目。
适用范围:连载书库。
(1)语法:{dede:catalog type=''}底层模板{/dede:catalog}
(2)属性:
[1] type 类型 默认为顶级栏目,type=son 表示当前栏目的子栏目,指定特定的栏目id则为所指定的栏目。
(3)底层模板:
本标记支持in嵌套,里面的in标记还可以再使用一重样式
{dede:catalog} <dd><a href="{in:field name='url'}{/in:field}">{in:field name='classname'}{/in:field}</a></dd> {/dede:catalog} 列出所有分类: {dede:catalog} <div class="book_class_form"> <dl> <dt><a href="{in:field name='url'}{/in:field}">{in:field name='classname'}{/in:field}:</a></dt> {in:sonlist}<dd> <a href='[field:url/]'>[field:classname/]</a></dd>{/in:sonlist} </dl> <div class="clear"> </div> </div> {/dede:catalog}
【chapter 标记】
功能说明:用于获取图书的章节列表,适用于book_book.htm。
适用范围:连载书库。
(1)语法:
{dede:chapter}底层模板{/dede:chapter}
(2)底层模板:
url 网址 ch 章节 title 标题
【contentlist 标记】
功能说明:用于获取最新图书章节。
适用范围:连载书库。
(1)语法:
{dede:contentlist row='' booktype='' titlelen='' catid=''}底层模板{/dede:contentlist}
(2)属性:
[1] row 条数
[2] booktype 图书类型 1 漫画,0 小说, -1 或默认 全部
[3] titlelen
[4] catid 栏目ID
(3)底层模板:
contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypename
本标记实际是由booklist引申的,不同之处是按book的最新发表章节排序
如果你想了解更多关于dedecms的知识,可以点击:dedecms教程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!