- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!すでに入力したデータを修正するためのフォームを作る
これはCardForm4Alpha2より使用できる機能です。
!データ新規入力用フォーム
データ新規入力用フォームはすでにある[[BugTrackForm]]を使用します。
コメント保存のために{{formhidden comment}}を加えました。(2005/08/07追加)
,,
,投稿者,{{formtext user}}
,サマリ,"{{formtext subject,size=60}}"
,カテゴリ,"{{formselect categoly,本体,プラグイン,ドキュメント}}"
,カテゴリ,"{{formselect category,本体,プラグイン,ドキュメント}}"
,優先度,"{{formselect rate,緊急,重要,普通,低}}"
,状態,"{{formselect stat,提案,着手,完了,リリース済,保留,却下}}"
,内容,"{{formtextarea msg,rows=10,cols=60}}"
{{formhidden comment}}
{{formsubmit 投稿}}{{formreset リセット}}
!修正フォームを備えた保存テンプレートページ
[[BugTrack-test]]を元に、{{bugstate}}の代わりにこれから作る修正フォームを備えた[[BugTrack-modify]]を作ります。
コメント保存のために%comment%を加えました。(2005/08/07追加)
!!!%subject%
*投稿者: %user%
*カテゴリ: %categoly%
*カテゴリ: %category%
*優先度: %rate%
*状態: %stat%
*日時: %time%
!!内容
%msg%
!!コメント
%comment%
{{comment}}
----
{{cardform BugTrackModifyForm,BugTrack-modify,%page%}}
最後の行が修正フォームを表示するための記述で、cardformの第3引数を「%page%」としているのがミソです。
これにより、実際に新規にデータを保存する際、この%page%の部分が自身のページ名に置き換えられ、cardformプラグインでの保存ページ名として渡されます。
!修正フォーム
[[BugTrackModifyForm]]に修正用のフォームを作ります。
コメント保存のために{{formhidden comment}}を加えました。(2005/08/07追加)
カテゴリ {{formselect categoly,本体,プラグイン,ドキュメント}}
カテゴリ {{formselect category,本体,プラグイン,ドキュメント}}
優先度 {{formradio rate,緊急,重要,普通,低}}
状態 {{formradio stat,提案,着手,完了,リリース済,保留,却下}}
{{formhidden user}}
{{formhidden subject}}
{{formhidden time}}
{{formhidden msg}}
{{formhidden comment}}
{{formsubmit 変更}}
通常のフォームの様に記述しますが、注意点として修正元に含まれている、修正しない値をすべてformhiddenで書いてください。
これは、このフォームで送った情報'''だけ'''を元に修正ページが作られるためです。
このフォームを'''表示した時'''は元のページを読み、初期値を設定しますが、
'''送信して保存する時'''は元のページを一切見ません。新たに作り直すだけです。
したがって(hiddenでも)フォームに含まれないデータがあると、そのデータは消えてしまいます。
逆にいえばそうやって不要なデータを削除する事も、新たに追加する事もできます。
!テスト
まずは次のフォームから適当に値を入力して新規データを保存します。
{{cardform BugTrackForm,BugTrack-modify}}
その後、下の表から保存したデータのページに行き値を修正してみてください。
{{cardlist BugTrack-modify,ページ:%cardlist_pagename%,カテゴリ:categoly,優先度:rate,状態:stat,投稿者:user,サマリ:subject}}
{{cardlist BugTrack-modify,ページ:%cardlist_pagename%,カテゴリ:category,優先度:rate,状態:stat,投稿者:user,サマリ:subject}}