Subversion Repositories wimsdev

Rev

Rev 5766 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2071 zjchen 1
 
2
每个wims模块有自己的主目录, 其中存放模块的所有文件. <p>
3
 
4
一个模块至少要有下列文件:
5
<UL>
6
$tit 变量定义文件 $emph var.def$emphend. $titend
7
此文件定义了模块的$emph 外部$emphend 变量. 用户给出的参数的变量名必须在这个文件里声明,
17228 bpr 8
除非是wims保留的参数名(cmd, session, module, ...).
2071 zjchen 9
并且只有本文件声明过的变量才能保存在本次对话的目录里供同一次对话的其它请求调用.
10
$tit 变量处理文件 $emph var.proc$emphend.$titend
11
本文件在每次调用模块时都被处理(特殊调用除外: cmd=intro 或 getins).
12
$tit 主 phtml 文件 $emph main.phtml$emphend.$titend
13
本文件在每次调用模块时都被处理(特殊调用除外: cmd=intro 或 getins).
14
$tit 索引文件 $emph INDEX$emphend, 它确定了模块的特性.$titend
15
本文件供wims数据库搜索可用模块之用.
16
</UL>
17
 
18
<p>
19
通常还有以下(可选的)文件:
20
<ul>
21
$tit 变量初始化文件 $emph var.init$emphend.$titend
22
本文件的语法同 $emph var.proc$emphend, 而且只在带有 cmd=new 或 cmd=renew 的请求时被处理.
23
$tit 导引文件 $emph intro.phtml$emphend.$titend
24
这是一个 phtml 文件, 当模块被带有 cmd=intro 的调用时处理.
25
通常用于介绍模块的内容, 让用户选择初始选项.
26
</ul>
27
 
28
<p>还可以有许多其它文件,$emph README$emphend 文件, 一些帮助页,
29
一个 $emph about$emphend, 图形文件或者被上述文件调用的文件.
30
 
17228 bpr 31
<hr><h4>变量处理文件</h4>
2071 zjchen 32
 
17228 bpr 33
文件 $emph var.init$emphend, $emph var.proc$emphend,
2071 zjchen 34
以及被这两个文件调用的文件都是变量处理文件. <p>
35
 
36
变量处理文件由行组成, 行与行之间由换行符分隔,
17228 bpr 37
但是接在 $emph \$emphend 后面的换行符不起分隔作用.
2071 zjchen 38
 
39
变量处理文件的每一行只能是以下类型之一:
40
<ol>
41
 <li>注解行, 它的第一个非空格字符只能是 $emph #$emphend, 或者
42
  $emph!$emphend 后接另一个 $emph!$emphend.
43
 <li>变量定义行, 其形式为
17228 bpr 44
  $emph name$emphend=$(emph)value$emphend.
2071 zjchen 45
  $(emph)value$emphend 的内容可以是一个字符串(如果这个串里含有换行号,
46
  它的前面必须加上 $emph \$emphend), 或者是wims变量命令
47
  (它的起始字符必须是 $emph!$emphend).
17228 bpr 48
 <li>命令行, 它的第一个非空格字符必须是 $emph!$emphend,
2071 zjchen 49
  后接命令名以及可选的参数.
17228 bpr 50
  <br>如果此命令产生输出字符串, 这个输出将被忽略.
51
 <li>标记行, 它的第一个非空格字符必须是 $emph:$emphend,
2071 zjchen 52
  后接标记名. 在标记名后面的内容都被看作注解, 不被处理.
17228 bpr 53
  <br>标记用于跳转命令 $emph!goto$emphend.
54
  <br>以字符 '*' 的标记是万用的,
2071 zjchen 55
能与 $emph!goto$emphend  命令的任何标记匹配.
17228 bpr 56
  <br>如果此命令产生输出字符串, 这个输出将被忽略.
2071 zjchen 57
 <li>不符合上述4条的行将得到一个出错信息.
58
</ol>
59
 
17228 bpr 60
<hr><h4>phtml文件</h4>
2071 zjchen 61
 
62
文件 main.phtml, intro.phtml, 以及这两个文件调用的任何文件都是phtml(可编程html)文件.
63
<p>
64
除去第一个非空格字符是 $emph!$emphend$emph:$emphend 的行以外,
65
phtml文件是一个通常的html文件.
66
<p>
67
如同变量处理文件, $emph\$emphend 后面的换行符不被看成产生新行.
68
<p>
69
如同变量处理文件,$emph:$emphend 起首的行是标记行.
70
<p>
71
如同变量处理文件,$emph!$emphend 起首的行是命令行.
17228 bpr 72
但是与变量处理文件不同, 命令输出的字符串被插入html页的这一行里,
2071 zjchen 73
<p>
74
不属于上述两种类型的行则经过变量替换后发送给http用户.
75
 
76