- &title &&writepage
- *概要
- &writepage([[ページ名]], move, label=ラベル, ask){テンプレート}
- 指定したページからテンプレートを使って抜き出した項目を編集するフォームを表示します.
- 指定したページがテンプレートと一致しない場合は指定したページの内容をテンプレートに書き換えます.
- *パラメータ
- :&[&[ページ名&]&]|指定したページの各項目に対する編集を行います.
- :{move|編集が完了した後に編集したページへ移動します.
- デフォルトで指定されています.無効にするには!moveと指定して下さい.}
- :label=ラベル|ボタンに表示される文字を指定します.
- :{ask|項目を入力するためのフォームを表示します.
- デフォルトで指定されています.無効にするには!askと指定して下さい.
- !askを指定すると,テンプレートのデフォルト値を使用してページの保存を行います.}
- :{placeholder|テンプレートで@項目名@のような形式で項目を抽出する機能(下記参照)を有効にします.
- デフォルトで指定されています.無効にするには!placeholderと指定して下さい.}
- *対象
- 対象にはテンプレートを書きます.
- テンプレートには編集対象となるページの内容をそのまま書きます.
- ただし,ページの内容の中で編集したい項目に相当する部分は以下のように書きます.
- @項目名@
- という形式で書くと,フォームの入力項目になり,ページを作成する際に入力された文字に置き換わります.
- @項目名=初期値@
- という形式も使用でき,この場合はフォームに指定された初期値が埋め込まれます.
- @項目名#@
- のように項目名の最後に#記号をつけるとその項目は複数行の内容を入力することができるようになります.
- @項目名*@
- のように項目名の最後に*記号をつけると必須項目になります.
- @項目名'@
- のように項目名の最後に'記号をつけるとその項目に入力されたWiki記法は無視されるようになります.
- @項目名/選択肢1/選択肢2/...@
- のように項目名の最後に/記号をつけ,
- 続けて選択肢を列挙するとその項目はプルダウンメニューなり指定した選択肢から選ぶようになります.
- @-項目名@
- のように項目名の前に[[行頭記法:../../LineHead]]の記号を書くとフォームに入力された内容の行頭に指定した記号が追加されます.
- @-項目名#'*=初期値@
- のように組み合わせて使用することもできます.
- また,初期値で&$user&$と書いた場合はフォームで投稿したユーザ名,
- &$time&$と書いた場合はフォームで投稿を行った日時に置き換わります.
- テンプレートに&$LAST&$と指定すると直前に使用したテンプレートを使用することができます.
- *例
- &writepage([[./記事]], !move) {
- *@タイトル@
- :投稿者|@名前=$user$@
- @ 本文#=ここに本文@
- }