JTBC中的模板是怎么存储的?

在JTBC中,所有的HTML代码均存储在common/template/*.jtbc 中,系统自用或者公用的存储在根目录下的 common/template,模块自用的则存储在 模块目录/common/template,比如文章 article/common/template(此存储方式为了具有目录形特点的模块化以及避免删除模块后文件的冗余),模板的命名也有一定的约定方式,比如前台的模板一般都命名为 module.jtbc 因此无论是 文章、下载、还是商品、留言等等的版块涉及到前台的HTML的样式一般情况都存储在自身目录下的 common/template/module.jtbc 后台的模板则是 manage.jtbc,因后台模板基本不常改动,因此主要说明一下 module.jtbc 中的XML结构。

.jtbc格式的模板以xml格式的方式存储,因此可能使用记事本打开会显凌乱。在后台的模板管理中可以直接管理到这些模板,也可以使用一些文件编辑器来整理出节点以方便编辑。

在前台的模板中,约定节点名 index 的为首页模板,list 为列表页模板,detail 为详细页模板。一些特别的模块比如 passport forum 等则不同,这些节点名都是前台处理程序文件 module_config.asp/module_config.inc.php(也是约定的格式,每个模块基本都一样,存储在 common/incfiles) 中以节点名为关键字进行调用并且处理的,也就是可以自定义这些节点名以便在需要用到这些HTML代码的地方调用到。在这些模板的HTML代码中,经常会看到型如{$=A}以及{$A}这样的特殊代码。{$=A}这样的表示调用在程序中的某个函数并将返回的结果显示出来,{$A}这样的则仅仅表示1个标签,这个标签仅等待处理程序的替换而不执行任何操作(注意两者仅相差一个等于号)。有了如{$=A}这样的功能,模板也可以调用程序中的函数甚至通过函数再调用模板。

在前台的模板中,还有一些比较特殊的模板,比如用于调用显示的模板,用于格式化.jtbc选项文件的模板等等,这些文件都可以在根目录下的 common/template 中找到。

附录:

<?xml version="1.0" encoding="utf-8"?>
<xml mode="jtbc" author="jetiben">
  <configure>
    <node>item</node>
    <field>name,tpl_default</field>
    <base>item_list</base>
  </configure>
<!--自此以上为.jtbc文件的配置,程序依此读取下面的数据-->
  <item_list>
<!--这里开始是一个节点-->
    <item>
      <name><![CDATA[index]]></name>
<!--Name是预设的节点名称,程序等按此名称调用-->
      <tpl_default><![CDATA[<h1>Hello JTBC!</h1>]]></tpl_default>
<!--Tpl_default是此节点的内容,程序等按此名称调用后会得到此结果-->
    </item>
<!--这里结束是一个节点-->
  </item_list>
</xml>