The 'template' is one of the fields that you will define when creating a user macro. (See the rest of the guide to writing user macros.) This page gives you guidelines about the code you can enter in a user macro template.
このページの残りの部分では、上記の手順を詳しく説明します。
On this page:
If you chose an output format of 'HTML', you must write the content of the template using HTML. In addition, you can use the Velocity templating language. For more information about the Velocity template language, see the Velocity user's guide.
If you chose an output format of 'Wiki Markup', you must write the content of the template using Confluence wiki markup.
Note: When coding in wiki markup, you can use $body, $paramFoo and Velocity too, as described in detail below. For example:
Foo $!paramFoo Honk
$body
Bar
$action.getText('done.name')
Eek
|
Use the $body object within your user macro template to access the content passed to your macro in the macro body.
The $body object is available if you have specified that your macro has a body (in other words, if you have not selected 'No macro body').
Example: Let's assume your macro is called helloworld.
Enter the following code in your template:
Hello World: $body |
A user enters the following on a Confluence page:
{helloworld}From Matthew{helloworld}
|
Wiki ページには次のように表示されます。
Hello World: From Matthew
You can specify parameters for your macro, so that users can pass it information to determine its behaviour on a Confluence page.
When adding a macro to a Confluence page, users can pass parameters to your user macro in the same way as any other macro:
In summary, a parameter definition contains:
@param形式:
## @param MYNAME:title=MY TITLE|type=MY TYPE|desc=MY DESCRIPTION|required=true|multiple=true|default=MY DEFAULT VALUE |
追加情報:
以下のセクションでは、それぞれの属性の詳細を示します。
属性名 |
説明 |
必須/推奨/オプション |
|---|---|---|
(an unnamed, first attribute) |
A unique name for the parameter. The parameter name is the first attribute in the list. The name attribute itself does not have a name. See the section on name below. |
必須 |
title |
The parameter title will appear in the Macro Browser. If you do not specify a title, Confluence will use the parameter name. |
推奨 |
type |
The field type for the parameter. See the section on type below. |
推奨 |
desc |
The parameter description will appear in the Macro Browser. |
任意 |
必須 |
Specifies whether the user must enter information for this parameter. Defaults to 'false'. |
任意 |
複数 |
Specifies whether the parameter accepts multiple values. Defaults to 'false'. |
任意 |
default |
パラメーターの既定値。 |
任意 |
パラメーター名はリストの最初の属性です。name 属性自体には名前がありません。
例: 次のコードは、「foo」と「bar」という名前の 2 つのパラメーターを定義します。
## @param foo ## @param bar |
パラメーターのフィールド タイプ。タイプを指定しない場合、既定値は string になります。
Parameter Type |
説明 |
|
|---|---|---|
ブーリアン |
ユーザーにチェックボックスを表示し、マクロに 「true」または「false」の値を文字列として渡します。 |
|
enum |
Offers a list of values for selection. You can specify the values to appear in a dropdown in the Macro Browser. Example of specifying the enum values:
Note about i18n: Confluence does not support internationalisation of the enum values.The value the user sees is the one passed to the macro as the parameter value, with the capitalisation given. In this case 'Grey', 'Red', etc. |
|
文字列 |
テキスト フィールド。これが既定のタイプです。必須フィールドを持つ例:
|
|
confluence-content |
ユーザーに対してページやブログ投稿の検索を許可するコントロールを提供します。例:
|
|
username |
ユーザーを検索します。
|
|
spacekey |
スペースを選択する一覧を提示します。マクロにスペース キーを渡します。例:
|
|
日付 |
Confluence はこのタイプを受け入れますが、「文字列」と同じように扱います。例:
日付に関する注意事項: ユーザーは任意の形式で日付を入力することができます、管理者は、ユーザー マクロの日付形式を検証する必要があります。 |
|
int |
Confluence accepts this type, but currently treats it in the same way as 'string'. Example with a default value:
|
|
パーセンテージ |
Confluence はこのタイプを受け入れますが、「文字列」と同じように扱います。例:
|
パラメーターは、テンプレートでは $paramfoo、$parambar ("foo" および "bar" という名前のパラメーターの場合) などの形式で使用できます。
This example shows how the parameters would be used on a wiki page: {macro:foo=value|bar=value}.
通常、不足している $paramfoo などのパラメーターは、出力で '$paramfoo' などと表示されます。パラメーターが設定されていない場合に何も表示しないようにするには、ドル記号 ($) の後に感嘆符 (!) を付けて「$!paramfoo」のようにします。
If your macro does not accept parameters, you should use @noparams in your template. That will let Confluence know that it need not display a parameter input field in the Macro Browser.
If the user macro contains no parameters and does not specify @noparams, then the Macro Browser will display a free-format text box allowing users to enter undefined parameters. This can be confusing, especially if the macro does not accept parameters.
例: テンプレートの冒頭部分に次の行を追加します。
## @noparams |
As well as the macro body and parameters, there are a variety of Confluence objects available in the Velocity context. In addition to the default context, user macros also include the following:
変数 |
説明 |
クラス リファレンス |
|---|---|---|
|
マクロ本文 (マクロに本文がある場合) |
文字列 |
|
マクロに渡される名前付きパラメーター( "foo"、"bar") |
文字列 |
|
Confluence プロパティを取得するのに便利な |
|
|
特に |
|
|
このコンテンツ オブジェクト (ページ、ブログ投稿など) が格納されている |
|
|
このマクロが含まれている現在の |
For a list of objects available in the default Velocity context, see the developer documentation.
Writing User Macros
Examples of User Macros