模板标签说明
    dcrcms模板引擎有三种标签模式:块标签,单标签,块内标签
    块标签主要是组合出现,比如{dcr:list}{/dcr:list},块标签可以主要特点是以{dcr:标签 参数列表....}开始,{/dcr:标签}结束,里面可以HTML来调用数据
    单标签主要是用来调用里面不用再有字段的数据:比如inlcude一个文件{dcr.include file='header.htm'}
    块内标签主要是用来在块标签里调用数据比如{dcr.field.title}{$title}

 

比如我想添加一个块标签my_tag

我们先在index.htm写:

{dcr:mytag}

{$title}

{/dcr: mytag}

模板上写好东西了,我们接下来写这个标签的处理类。打开include\class\template,复制class.template.list.php,改名为class.template. mytag.php

打开class.template. mytag.php 把类名cls_template_list改为cls_template_mytag

Function compile_tag()下是处理这里标签的核心function。这里我们为了测试,在$table_name = $attr_array['table'];下面添加 $table_name = @#@news;

这时刷新网站,就可以看到新闻列表了,为了演示,我们为mytag添加一个属性myattr,模板内容如下:

{dcr:mytag myattr=我的属性值}

{$title}

{/dcr: mytag}

接着在compile_tag()里来处理这个属性值, compile_tag()下的$attr_array这里记录的是标记的属性列表,我们获取myattr则用$attr_array[myattr],我们在下面来输出这个值,在[$table_name = $attr_array['table']; //表名下面添加$myattr = $attr_array['myattr'];,把$sql_option = "<?php \r\n \t\$cls_data = cls_app:: get_data('" . $table_name . "');";改成$sql_option = "<?php \$myattr = '$myattr';\r\n\t  echo \$myattr . '<br>'; \r\n \t\$cls_data = cls_app:: get_data('" . $table_name . "');";

 

刷新页面是不是可以看到[我的属性值]是不是显示了^_^

 

单标签就比较简单了,你可以看include/class/template/class.template.include.php

 

块内标签,比如{dcr.news.title}这样的,打开include/class/class.template.php,查找到function compile_inner_tag()下面的代码里面可以处理的