Confluence 6 在你用户宏中使用参数

你可以为你的用户宏指定参数。这样的话,用户可以使用参数来决定 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

原文地址:http://blog.51cto.com/ossez/2108336

时间: 2024-08-30 00:27:50

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

Confluence 6 创建一个用户宏

如果你想创建自定义的宏的话,用户宏能够帮你完成这个任务.这个可以在你系统中应用特定的操作,比如说应用自定义格式等. 用户用是在 Confluence 创建和和管理的,你需要有一定的编码基础才可以. 你需要具有系统管理员权限来创建和应用用户自定义宏. 希望创建一个新的用户宏: 进入  > 基本配置(General Configuration) > 用户宏(User Macros) 选择 创建一个用户宏(Create a User Macro) 输入宏的一些详细信息(请查看下面列表) 单击 添加(

Confluence 6 用户宏示例 - Hello World

下面示例显示了如何创建一个用户宏,在这个用户宏中显示文本 'Hello World!' 和任何用户在宏内容中输入的内容. Macro name helloworld Visibility Visible to all users in the Macro Browser Macro Title Hello World Description Displays "Hello World" and the macro body. Categories Confluence Content

Confluence 6 用户宏示例 - Color and Size

这个示例定义了如何向你宏中传递参数.我们将会创建一个字体样式宏,在这个宏中有 2 个参数,允许用户在这 2 个参数中指定宏中包含的字体的颜色大小. Macro name stylish Visibility Visible to all users in the Macro Browser Macro Title Stylish Description Applies colour and size to text. Categories Confluence Content Icon URL

Confluence 6 用户宏最佳实践

这个页面为你在创建用户宏的最佳实践中包含了一些小技巧和建议. 为你的宏添加一个简短的描述 我们鼓励你为你的宏在 模板(Template )添加一个备注的描述,可以参考下面的显示的内容: ## Macro title: My macro name ## Macro has a body: Y or N ## Body processing: Selected body processing option ## Output: Selected output option ## ## Develop

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

请查看 Writing User Macros 页面获得有关如何写用户宏的介绍. 这个页面介绍你可以在用户宏中可以使用的的代码信息. 访问你的宏正文(body) 在你用户宏模板中的 $body 对象可以访问访问到传递到你宏正文中的内容. 当你的宏有指定的正文的时候,$body 对象是可用的(换句话说,如果你没有选择 No macro body 的话). 示例:让我们假定你的宏的名称为  helloworld. 在下面的模板中输入下面的内容: Hello World: $body 当编辑 Conf

Confluence 6 用户宏示例 - NoPrint

这个示例演示了如何创建一个用户宏,这个宏包括了在查看页面中显示的内容,但是不被打印. Macro name noprint Visibility Visible to all users in the Macro Browser Macro Title No Print Description Hides text from printed output. Categories Confluence Content Icon URL You can leave this field blank

Confluence 6 用户宏示例 - Formatted Panel

下面的用演示了如果还写一个用户宏,并在这个宏中创建一个格式化的面板,并且指定颜色.将会创建下面的面板: (Title) 注意:这个面板的标题为空,如果你没有给这个面板标题参数的话. Macro name formpanel Visibility Visible to all users in the Macro Browser Macro Title Formatted Panel Description Creates a panel preformatted with specific co

Confluence 6 编辑和删除用户宏

编辑一个用户宏 希望对一个用户宏进行编辑: 进入  > 基本配置(General Configuration) > 用户宏(User Macros) 在相关的宏的边上,单击 编辑(Edit) 更新宏的详细信息 单击 保存(Save) 删除一个用户宏 希望删除一个用户宏: 进入  > 基本配置(General Configuration) > 用户宏(User Macros) 当前系统中定义的用户宏将会完全显示出来 在相关的用户宏上,单击 删除(Delete) 在删除一个用户宏之前,

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

你可以决定宏参数在 Confluence 编辑器中如何进行显示的. 在默认的情况下,在宏占位符下尽可能显示能显示的所有参数: 你可以控制这里显示的参数数量,通过这种控制你可能尽量的为编辑者提供有效的信息. 例如,在 Confluence 的经过宏中有 2 个参数,title 和 icon.我们考虑到 title 是最有意义的参数,因此我们配置了经过宏显示了 title 参数的具体值. 让我们假设一个编辑用户添加了一个警告宏到编辑页面中.然后给了标题名称为 'The title of the wa