dede底层模板详细介绍标签
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
什么叫底层模板(Innertext),详细介绍
2010-04-06 16:49
底层模板(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=10}·[field: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(等同 border='0'>
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:pubdate function="strftime('%y-%m-%d %H:%M',@me);"/]
{/dede:arclist}
从实例中大家可以注意到,{dede:xx/}和 [field:xxx/}都支持function扩展。实际上[field:xxx/] 这种模式也是dede标签解析器解析的,所以作用一样,它只是把 dede 换成 field { 换成 [