以下是根据个人理解的研究结果,可能不够正确,仅供参考。
以index.tpl.html为例,我们先找到如下代码:
<{strip}>
<{if $data_ary.my_tag.top_nav.body_1|strip == '' }>逆风编程精品
<A HREF="/" target=_self>首页</A>
<{foreach name=all_type item=single_type from=$web.type}>
<{if $single_type.parent_id == 0 && $single_type.id >5}> |
<A HREF="<{$single_type.url}>" target=_self><{$single_type.title}></A>
<{/if}>
<{/foreach}>
<{else}>
<{$data_ary.my_tag.top_nav.body_1}>
<{/if}>
<{/strip}>
蓝色部分:strip标签表示去除HTML源代码的首尾空格和回车。
绿色部分:是条件判断语句“if else if”,用于判断自定义标签中的top_nav标签内容是否为空,如果为空就执行红色部分包含的代码,否则执行紫色部分代码。
红色部分:foreach开始嵌套判断循环,后面是三个判断条件,name=all_type表示查找所有记录,item=single_type表示查找article_type表中的分类记录,from=$web.type表示在web.type(栏目属性数组)中循环。关于web.type可以在这里看到详细的说明:http://www.hbcms.com/cms/f8/274.html
棕色部分:是条件判断语句“if else if”,包含两个判断条件,第一个表示该分类的父分类为0,也就是没有父分类,也就是说该分类本身是一级分类,第二个表示该分类的ID大于5,这是由于HBCMS设定默认添加分类的ID大于5,便于使友情链接等ID小于5的栏目不出现在导航条中。
橙色部分就不用解释了吧?也就是导航连接,稍微懂点HTML知识的朋友都可以分析这些语句是什么意思。