你可以为你的用户宏指定参数。这样的话,用户可以使用参数来决定 Confluence 页面的显示情况。

如何在 Confluence 页面中使用你的宏参数

当添加一个宏到 Confluence 页面中的时候,宏浏览器将会为每一个选择的宏显示输入字段,这个输入字段就是你需要指定的参数。

定义参数

在模板中的参数定义为:

  • @param
  • 参数的名称
  • 一系列属性(可行)。

格式:

## @param MYNAME:title=MY TITLE|type=MY TYPE|desc=MY DESCRIPTION|required=true|multiple=true|default=MY DEFAULT VALUE

其他说明:

  • 在模板中参数的排序决定了参数在宏浏览器中显示的顺序。
  • 我们推荐你在模板的顶部定义你的所有参数。
  • 有可能有一些附加的属性,这个基于你的参数类型。

下面的表格说明了描述了每一个属性的详细信息。

(an unnamed, first attribute) 参数的独一无二的名称。这个参数名称在所有参数属性列表中的第一位。这个名字属性本身是没有名字的。请单击 name 查看详细信息。 必须(Required)
title 在宏浏览器中显示的参数标题。如果你没有指定一个标题的话,Confluence 将会使用参数名称 推荐(Recommended)
type 参数的类型字段。请单击  type 获得允许的类型 推荐(Recommended)
desc 在宏浏览器中显示的参数描述 可选(Optional)
required 指定用户是否必须为这个参数输入值(默认:否) 可选(Optional)
multiple 指定参数是否接受多变量值(默认:否) 可选(Optional)
default 参数的默认变量值 可选(Optional)

参数名称(Parameter name)

参数的独一无二的名称。这个参数名称在所有参数属性列表中的第一位。这个名字属性本身是没有名字的。

示例:下面的代码定义了 2 个参数,名字为 'foo' 和 'bar':

## @param foo
## @param bar

参数类型(Parameter type)

这个字段定义了参数的类型。如果你没有指定一个类型,那么默认的类型为  string

boolean 显示选择框(checkbox )允许用户进行选择和取消选择。这个将会向宏传递 'true' 或 'false'。请注意宏接受到的是字符串。
enum

通常列出可以供选择的列表。你可以指定显示的一系列值,然后将会在宏浏览器中通过下拉选择进行选择。例如,你指定了下面的枚举类型变量:

## @param colour:title=Colour|type=enum|enumValues=Grey,Red,Yellow,Green

注意 i18n:Confluence 并不支持国际化的枚举变量类型。用户可以看到的变量就是实际传递过去的变量,同时变量将首字母大写。在这里,用户将会看到 'Grey', 'Red', 等。

string

文本字符类型。这是默认的类型。例如一个需要的字段:

## @param status:title=Status|type=string|required=true|desc=Status to display
confluence-content

为用户提供一个控制器允许用户在页面和博客页面中进行查找。例如:

## @param page:title=Page|type=confluence-content|required=true|desc=Select a page do use
username

查找用户

## @param user:title=Username|type=username|desc=Select username to display
spacekey

提供空间选择的列表。请输入空间的 Key 到用户宏。例如:

## @param space:title=Space|type=spacekey
date

Confluence 能够接受这个参数类型,但是这个参数将会按照字符串进行处理。例如:

## @param fromDate:title=From Date|type=date|desc=Date to start from. Format: dd/mm/YYYY

日期类型说明:用户可以输入任何格式的日期类型,你应该在你用户宏中校验日期格式。

int

Confluence 能够接受这个参数类型,但是这个参数将会按照字符串进行处理。例如下面一个默认的变量:

## @param numPosts:title=Number of Posts|type=int|default=15|desc=Number of posts to display
percentage

Confluence 能够接受这个参数类型,但是这个参数将会按照字符串进行处理。例如:

## @param pcent:title=Percentage|type=percentage|desc=Number of posts to display

在你的宏代码中使用参数

参数在你的模板中可以使用 $paramfoo$parambar 进行调用  "foo" 和 "bar" 参数名。

通常情况下,一个参数像 $paramfoo 如果丢失,或者没有定义的话,那么页面将会输出显示为 '$paramfoo' 。如果你不希望输出成这样,而是希望完全不输出,你可以使用感叹号标记,如下所示 $!paramfoo

使用无参数

如果你的宏不接受参数,那么你应该在你的模板中使用 @noparams

如果用户宏包含无参数,同时也没有指定 @noparams,那么宏浏览器将会显示一个无格式的文本输入框,允许用户输入没有定义的参数。这个可能会与宏不接受参数相混淆。

例如:添加下面的行到你的模板中:

## @noparams

https://www.cwiki.us/display/CONFLUENCEWIKI/User+Macro+Template+Syntax

Confluence 6 在你用户宏中使用参数的更多相关文章

  1. Confluence 6 创建一个用户宏

    如果你想创建自定义的宏的话,用户宏能够帮你完成这个任务.这个可以在你系统中应用特定的操作,比如说应用自定义格式等. 用户用是在 Confluence 创建和和管理的,你需要有一定的编码基础才可以. 你 ...

  2. Confluence 6 用户宏示例 - Color and Size

    这个示例定义了如何向你宏中传递参数.我们将会创建一个字体样式宏,在这个宏中有 2 个参数,允许用户在这 2 个参数中指定宏中包含的字体的颜色大小. Macro name stylish Visibil ...

  3. Confluence 6 用户宏示例 - Hello World

    下面示例显示了如何创建一个用户宏,在这个用户宏中显示文本 'Hello World!' 和任何用户在宏内容中输入的内容. Macro name helloworld Visibility Visibl ...

  4. Confluence 6 用户宏最佳实践

    这个页面为你在创建用户宏的最佳实践中包含了一些小技巧和建议. 为你的宏添加一个简短的描述 我们鼓励你为你的宏在 模板(Template )添加一个备注的描述,可以参考下面的显示的内容: ## Macr ...

  5. Confluence 6 访问你的宏正文(body)

    请查看 Writing User Macros 页面获得有关如何写用户宏的介绍. 这个页面介绍你可以在用户宏中可以使用的的代码信息. 访问你的宏正文(body) 在你用户宏模板中的 $body 对象可 ...

  6. Confluence 6 用户宏示例 - Formatted Panel

    下面的用演示了如果还写一个用户宏,并在这个宏中创建一个格式化的面板,并且指定颜色.将会创建下面的面板: (Title)   注意:这个面板的标题为空,如果你没有给这个面板标题参数的话. Macro n ...

  7. Confluence 6 用户宏示例 - NoPrint

    这个示例演示了如何创建一个用户宏,这个宏包括了在查看页面中显示的内容,但是不被打印. Macro name noprint Visibility Visible to all users in the ...

  8. Confluence 6 编辑和删除用户宏

    编辑一个用户宏 希望对一个用户宏进行编辑: 进入  > 基本配置(General Configuration) > 用户宏(User Macros) 在相关的宏的边上,单击 编辑(Edit ...

  9. Confluence 6 在编辑器中控制参数的显示

    你可以决定宏参数在 Confluence 编辑器中如何进行显示的. 在默认的情况下,在宏占位符下尽可能显示能显示的所有参数: 你可以控制这里显示的参数数量,通过这种控制你可能尽量的为编辑者提供有效的信 ...

随机推荐

  1. RMAN常用命令汇总

    RMAN是Oracle数据库备份管理中必须用到的管理工具.它的操作方式有很多种,我整理了一些常用的操作命令,汇总起来,以方便工作. (miki西游 @mikixiyou 文档,原文链接: http:/ ...

  2. 对div的操作

    链接:https://blog.csdn.net/wide288/article/details/34116495 判断DIV的内容改变的方法 近日,在帮朋友写一段小程序的时候,用到了iframe,在 ...

  3. Python之进程 3 - 进程池和multiprocess.Poll

    一.为什么要有进程池? 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务.那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗 ...

  4. luogu P3172 [CQOI2015]选数

    传送门 颓了一小时柿子orz 首先题目要求的是\[\sum_{x_1=l}^{r}\sum_{x_2=l}^{r}...\sum_{x_n=l}^{r}[gcd(x_1,x_2...x_n)=k]\] ...

  5. CentOS6.8合并DVD1和DVD2作为本地yum源

    转载自:http://www.study365.org/blog/45.html CentOS一般都会提供DVD1和DVD2两个镜像文件,形如CentOS-6.8-x86_64-bin-DVD1.is ...

  6. mysql 查询优化 ~ select count 知多少

    一 简介:今天咱们来聊聊mysql的查询总数 二 具体介绍 1 从引擎层面说 myisam  myisam的扫描总行数是非常快的,这是因为myisam会将表的总行数存储起来,定期维护,但是注意,一旦加 ...

  7. JavaWeb - 目录

    参考:https://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/default.html?pag ...

  8. 【VMware vSphere】ESXi系统设置静态IP

    写在前面:           为了方便管理,一般将ESXi系统的IP设置为静态           ESXi6.5系统和6.0系统类似,这里以ESXi6.0系统为例           1, 进入系 ...

  9. JavaScript使用方法和技巧大全

        有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通Ja ...

  10. 浅谈2017noip信息奥赛普及组试题

    [话前叨叨] 一些日常刷题策略(转载): PS:本题的题目信息来自洛谷平台 下面就是进入正题了(其实这也是我第一次在csdn写博客,所以写的不好的地方也请大家多多谅解和提点/微笑/) 一.score ...