1. 程式人生 > >Confluence 6 在你用戶宏中使用參數

Confluence 6 在你用戶宏中使用參數

Confluence

你可以為你的用戶宏指定參數。這樣的話,用戶可以使用參數來決定 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 在你用戶宏中使用參數