变量

变量由形如 @变量名@ 语法定义的变量,会以实际值输出。

  • 有的变量会在页面预览时,就完成以实际内容替代变量

  • 有的变量(例如和保存页面时间相关),在页面保存时才会以实际值正式替代变量输出

  • 对于模板页面(页面名称为 XYZTemplate 或者 XYZ模板),页面保存变量保持不变。只有当依据该模板文件创建新的非模板页面时,完成变量到实际值的替换

1. 预定义的变量

下列变量在保存页面时或者在预览时,会被替换。

  • 变量

    描述

    例子

    @PAGE@

    页面的名称

    HelpCenter/00020_MoinMoin/00020_语法大全/变量

    @ROOTPAGE@

    根页面的名称

    HelpCenter

    @SUBPAGE@

    页面名称中除去父页面的剩余部分

    变量

    @TODAY@

    今天的日期

    2007-11-22

    @PAGEDATE@

    页面名称中如果出现日期,则提取出来作为日期,否则使用当前日期

    2007-11-22

    @YEAR@

    从 @PAGEDATE@ 中提取出来的年份

    2007

    @MONTH@

    从 @PAGEDATE@ 中提取出来的月份

    11

    @DAY@

    从 @PAGEDATE@ 中提取出来的日期

    22

    @WEEK@

    从 @PAGEDATE@ 中提取出来的星期(00 到 53),一年中第一个星期一为第 01 星期的开始

    47

    @ISOWEEK@

    从 @PAGEDATE@ 中提取出来的星期(01 到 53),第 01 星期必须至少有4天在该年度内

    2007 年第 #47 周

    @MONDAY@

    @PAGEDATE@ 所在的星期的星期一

    2007-11-19

    @TUESDAY@

    @PAGEDATE@ 所在的星期的星期二

    2007-11-20

    @WEDNESDAY@

    @PAGEDATE@ 所在的星期的星期三

    2007-11-21

    @THURSDAY@

    @PAGEDATE@ 所在的星期的星期四

    2007-11-22

    @FRIDAY@

    @PAGEDATE@ 所在的星期的星期五

    2007-11-23

    @SATURDAY@

    @PAGEDATE@ 所在的星期的星期六

    2007-11-24

    @SUNDAY@

    @PAGEDATE@ 所在的星期的星期日

    2007-11-25

    @ME@

    我的登录名

    jiangxin

    @MYNAME@

    我的姓名/别名或者登录名

    蒋鑫

    @USERNAME@

    用户名 (或者他的IP/domain)

    蒋鑫

    @USER@

    签名,相当于在@USERNAME@ 前加上了两个减号 "-- "

    -- 蒋鑫

    @SIG@

    相当于在签名 @USER@ 后又添加了日期: "-- loginname date time"

    {i} 在预览时,替换为 -- loginname @TIME@

    -- 蒋鑫 2007-11-22 08:53:13

    @EMAIL@

    我的邮件地址(经过 MailTo 宏处理)

下列变量在保存页面时,才会被替换。注意和上面的变量不同点在于,下面的变量在预览时不会被替换!

  • 变量

    描述

    例子

    @DATE@

    以系统格式表示的当前日期

    2007-11-22

    @TIME@

    以用户格式表示的单前日期和时间

    2007-11-22 08:53:13

    @SIG@

    带有日期的签名 "-- loginname date time"

    {i} 在预览时,替换为 -- loginname @TIME@

    -- 蒋鑫 2007-11-22 08:53:13

2. 字典文件

可以使用字典页面定义扩展变量。字典页面 是以页面名称以 Dict 结尾的页面,如: GlobalDict 页面。

2.1. 在词典页面中自定义扩展变量

在字典页面中添加变量非常简单,只需加上一条名词解释记录(用双冒号分隔的关键字和取值)即可。示例:

  •  CompanyName:: 我的公司名称
     WikiSiteUrl:: http://www.moon.ossxp.com/wiki/
     行政部接口:: 邢政 (xingzheng)

    /!\ 条目开头的空格和 '::' 之后的空格必不可少。

2.2. 从字典中获取自定义变量

可以使用GetVal 宏获取变量值:

  •  * <<GetVal(GlobalDict,CompanyName)>> 
     * <<GetVal(GlobalDict,WikiSiteUrl)>> 
     * <<GetVal(GlobalDict,行政部接口)>> 

显示为(如果没有显示,检查 GlobalDict 文件是否存在,以及是否定义上述变量):

  • 北京群英汇信息技术有限公司

  • http://www.ossxp.com/

  • 邢政 (xingzheng)

2.3. 特殊字典文件:用户字典文件和全局字典文件

用户字典文件

是用户自己的页面下创建的 MyDict 子页面。如 jiangxin/MyDict。当用户 jiangxin 登录后,凡是在 jiangxin/MyDict 中声明的变量,都可以用 @变量名@ 引用。并且在预览或者保存时完成变量替换。

全局字典文件

页面 GlobalDict 是全局字典页面。任何用户均可以使用 @变量名@ 语法引用 GlobalDict 中变量。并且在预览或者保存时完成变量替换。

示例:在页面中引用全局字典的变量如下

  • @CompanyName@

  • @WikiSiteUrl@

  • @行政部接口@

输出如下:

{i} 注意: 在特殊字典中的变量同样可以用 <<GetVal(字典名, 变量名)>> 来引用,和使用 @变量名@ 的不同点在于,使用宏可以随着字典文件中定义的改变而改变。而用变量方式,一次性完成替换,在字典条目改变甚至删除后,都不会受到影响。


参考: