VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

什么是DEDECMS静态模板类文件(静态html模板)?

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

什么是DEDECMS静态模板类文件(静态html模板)?

什么是dedecms静态模板类文件?

静态模板类文件Dreaming模板引擎是一个XML名称空间形式的模板解析器。

推荐学习:梦想编织cms

使用Dreamweaver解析模板的最大优势是您可以轻松设置标签的属性。感觉就像使用HTML一样,这使得模板代码非常直观和灵活。新的Dreamweaver模板引擎不仅可以解析模板,还可以分析模板中的错误标签。

文件include/dedetag.class.php是dedecms V5.3及更早版本使用的主要模板类,它是一个分析模板类,而不是编译模板类(区别在于前者通过获取标签位置来替换内容,而后者是一个直接的分析php代码,执行两次)。

首先,模板语法

1.梦幻编织模板引擎的代码样式如下:

{dede:标记名属性=‘Value‘/}

{ dede:tagname attribute =‘value‘} {/dede:tagname }

{ dede:tag name attribute =‘value‘}自定义样式模板(InnerText){/dede:tag name }

提示:

如果将标记与基础模板一起使用,则必须严格使用{ dede:tag name attribute =‘value‘} {/dede:tag name }的格式,否则将会出现错误。

2.织梦模板引擎内置了多个系统标签,可以在任何情况下直接使用。

(1)全局标记,即获取一个外部变量,该变量可以调用除数据库密码之外的系统任何配置参数,其形式为:

{ dede:global name =‘变量名‘} {/dede:global }

或者

{dede:全局名称=‘变量名“/}

变量名不能加$符号,如变量$cfg_cmspath应写成{ dede:global name =‘CFG _ CMS path‘/}。

(2)foreach用于以如下形式输出数组:

{ dede:foreach array =‘array name‘}【field:key/】【field:value/】{/dede:foreach }

③包括以下形式的文件:

{ dede:include file =‘文件名‘is make =‘是dede模板吗(是/否)‘/}

文件的搜索路径按以下顺序排列:绝对路径、包含文件夹、CMS安装目录和CMS主模板目录。

3.dream-weaving标签允许您使用任何标签中的函数来处理以下列形式获得的值:

{ dede:tag name attribute =‘value‘function =‘you function(“参数一“,“参数二“,“@ me“)“/}

其中@me用于指示当前标签的值,其他参数由您的函数决定,例如:

{ dede:field name =‘pubdate‘function =‘strftime(“% Y-% M-% d % H:% M:% S“,“@ me“)‘/}

4.梦想编织标签允许有限的编程扩展。

格式是:

代码如下:

{ dede:tagname runphp = & amp;#39;是的& amp#39;} $ aaa = @ me@ me = & quot123456 & quot;{/dede:tagname}@me表示标记本身的值,因此在标记编程中不能使用echo之类的语句,所有返回值只能传递给@me。

此外,由于程序代码占用了底层模板InnerText的内容,因此要编程的标签只能使用默认的InnerText。

二、分析的方式

在dedetag.class.php有四个类别。

类属性的属性结构表达式

类DedeAttributeParse属性分析器

类DedeTag标签的结构表达式

类DedeTagParse标记解析器

当使用解析类解析模板时,它通常经历以下步骤。

1.初始化:

$ DTP = new DedeTagParse();

2.加载模板/模板字符串:

$ DTP-》load template(模板文件(绝对路径));//会生成缓存,不需要二次解析模板。

或者

$ DTP-》load source(字符串);

3.为标签赋值

foreach($ DTP-》CTags as $ tid =》$ ctag ){

//判断ctag的名称和属性,并赋予不同的值,通常带有函数。

if($ ctag-》GetName = =‘mytag’)$ DTP-》Assign($ tid,mytag value($ ctag));

}

在上面的示例中,名为mytag的标记直接传递给mytagvalue函数进行处理,并在mytagvalue中判断$ctag的属性,可以返回不同的内容。

在V5.3版本中,除了字段和列表等特殊标签外,所有由以arc开头的类解析的文件的标签。*是应包含/taglib的源代码,由系统自动映射。

4.显示或保存为HTML。

$ DTP-》display();

或者

$ DTP-》save to(静态文件名);

对于二次开发人员来说,不需要知道dedecms模板的具体解析方法,但是CTag类的结构应该非常清晰,从而判断标签的不同属性进行处理。

代码如下:

class dede tag { var $ is replace = FALSE;//标记是否已被替换,以便解析器使用var$TagName = & quot;";//标记名var $ InnerText = & quot";//标记之间的文本var $ StartPos = 0;//标记起始位置var $ end pos = 0;//标记结束位置var $ attribute =“& quot;;//标记属性描述,即classdedeattributevar $ tag value =“& quot;;//标记var $TagID = 0的值;//获取标记函数getName(){ Return stro low($ this-》TagName)的名称和值;} function GetValue(){ return $ this-& gt;标签值;}//以下两个成员函数仅用于与旧版本的函数Get Tagname(){ Return stro low($ this-》Tagname)兼容;}函数GetTagValue(){ return $ this-& gt;标签值;}//获取指定的属性函数是attribute($ str){ return $ this-》CAttribute-& gt;is attribute($ str);} function get attribute($ str){ return $ this-& gt;属性-& gt;GetAtt($ str);} function GetAtt($ str){ return $ this-& gt;属性-& gt;GetAtt($ str);} function GetInnerText(){ return $ this-& gt;InnerText} }

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:什么是DEDECMS静态模板类文件(静态html模板)? https://zhujicankao.com/109038.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 什么是DEDECMS静态模板类文件(静态html模板)?
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!