【转帖】Dedecms标记入门

[复制链接]
查看: 1027   回复: 0
发表于 2008-2-20 15:25:40 | 显示全部楼层 |阅读模式
Dedecms新版本(V5系列)模板标记非常灵活,对于很多新人是一个头疼的问题,天涯今天就来和大家谈谈这些标记,为以后大家修改、制作模板打下扎实基础。

        首先我们去官方的《
模板制作帮助文档》查看这些标记的简介,如何来看帮助文档呢,下面天涯就来简单的说一下,我们拿最常用的Arclist标记来做说明。


        帮助文档中都有【功能说明】【适用范围】【基本语法】【属性说明】这些部分组成,
功能说明】用于解释模板标记使用功能,建议新手都把这些标记功能看看,大致做一个了解。
适用范围】由于Dedecms模板大致分为首页、频道、列表、内容以及其他附加模板组成,使用范围指出这些标记在哪些模板中起作用。模板文件夹中(以Dedecms默认模板为例,即{cmspath}\templets\default)大家可以仔细分析下,模版中很多都是以下列这些名字出现index.htm,index_X.htm(封面模板),list_X.htm(列表模板),article_X.htm(内容模板),你可以对照标记的适用范围,查看这些标签在哪个模板中能起到作用。
基本语法】用于介绍模板基本使用方法,在使用时候可以拿来根据自己的需要进行响应的修改。
属性说明】这些属性,决定你调用的内容,决定Dedecms解析这些标记的形式,属性非常重要。


    以上这些介绍主要是让大多数新手学会看帮助文件,模板修改使用的大多数问题都是因为自己不去看这些帮助文件导致的,希望广大Dedecms新人引以为戒

        下面就来简单说下Dedecms模板的分类,搞过ASP的人应该知道,动态网页基本上就是对变量、数组(数据库)的操作,然后通过语句输出为HTML,dedecms的这些标记也是起到同样的效果。
下面根据起到的不同效果对模板进行如下分类:
        一.变量操作型 这里的变量不同于对编程中那个复杂的变量,新人不懂,我这里所指出的变量是Dedecms调用局部内容进行输出的一些标记,这里有: 【Flink (friendlink)标记】【Page 标记】【Pagelist 标记】【Pagebreak 标记】【Prenext 标记】【Pagetitle 标记】【Myad 标记】【Vote 标记】以及还有系统不常用的(其实天涯经常使用),例如global 标记、include 标记、mytag标记、position 标记,这些标记大家可以看出,都是输出来为一部分内容,并不可以重复,这个标记在解析时候生成的只是一块不重复的内容。


        二.数组操作型 这里的数组当然在模板标记中,指的是循环输出一些内容的标记,例如N行文章、N个软件、N个会员信息等等,Dedecms这些标记有:【Arclist 标记【Field 标记】【Channel 标记】
【Type 标记】【Autochannel 标记】【Mynews 标记】【LOOP 标记】【Channelartlist 标记】【List 标记】【Ask 标记】【Sql 标记】【Group 标记】【Groupthread 标记】【booklist 标记】【catalog 标记】【chapter 标记】【contentlist 标记】当然也有foreach这种“罕见”的标记,这些标记使用时,通过属性设置,能循环输出一些列内容,很多重复的东西,往往只要一个标记就搞定,不信可以开个模板仔细观察观察。



        有了这个分类以后,在修改、制作模板时候相信会得心应手了,天涯在修改、制作模板中经常使用的标记有sql、include、loop(貌似现在被sql取代了)、mytag这些标记,因为这些标记很“自由”,当然新人可以在模板制作修改中尝试使用这些灵活自由的标记。


        本篇接下来简单讲一下数组操作性标记的原理以及他的使用方法。


        我们在Dedecms模板中经常看到下面这样的例子:
    {dede:arclist row=4 titlelen=20 orderby=pubdate typeid=58}
    <dd><span>[field:pubdate function=strftime('%m-%d',@me)/]</span>[field:textlink/]</dd>
    {/dede:arclist}

这里我们使用了arclist标记,通过属性我们可以得到下列相关信息:
row=4 调用4行这样的数据
titlelen=20 取标题的前20个字符(2个字符为一个中文字符)
orderby=pubdate 排列顺序为按照发布时间排列,当然你也可以选择其他,帮助有详细说明。
typeid=58 调用栏目id为58栏目的文章
        标记都是通过 {dede:arclist}这个开始,{/dede:arclist}结束,这个和html有的相像,所以做dedecms模板,最好熟练下html的相关知识。
开始、结束标记中含有[field:textlink/]这样的标记,新手需要记住的是[field:textlink/]只可能存在于{dede:XXX}{/dede:XXX}之间,绝对不肯能拿出来单独使用!

        其他数组操作性标记都是同样的原理,只是将繁琐的从数据库调用的东西简化为dedecms标记,dedecms在解析时候读取标记然后进行查询、输出等一些后续操作。新手注意的是,熟练掌握什么是频道页、列表页、内容页,以及调用内容关系和范围,根据自己的页面需要,使用不同的标记达到效果,这是新手在不断实践的基础下才能掌握的

      
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则