フォルダが準備出来ましたので、次に登録フォームを作成します
これには、フォルダプラグインの標準機能を使います
フォルダプラグインは、ページを新規作成時、はじめにセットするデフォルトの書式を定義することができます
通常は、テキスト文章等のセットしますが、ここでは更にembedプラグインを使い、登録フォームにします
embedプラグインはタグ型のプラグインで、文章の中に入力フォームを作ることができます
例えば、
$plugin('embed','text','name:title')
と記入すると、text boxの入力フォームが表示されます
name:textとは、ページのメタ情報として、[embed][title]という配列で収納するということです
入力フォームは好きなように作成できますが、必ず必要な項目としては、ToDoが完了したかそうでないかをしますステータスでしょう
ここでは、とりあえず以下のようなフォームデータを利用します
title,user,status,contentsの4項目です
この中で、userは、登録者名で、embedプラグインではなくページデータを直接持ってくるようにします
(ページデータ配列の内容はこちらを参照)
<p>title : {$plugin('embed','text','name:title')}</p> <p>user : {$params['page']['meta']['author']}</p> <p>status : {$plugin('embed','select','name:status',array('---','open','close'))}</p> <p>contents : {$plugin('embed','edit','name:cont1')}</p>
先ほどのURLからブロックメニューの[format]ボタンをクリックし、上記データをセットします
(HTMLコード編集モードで設定してください)
これで、登録フォームの設定は終わりです
次に、セットした内容が正しいか確かめます
先ほどのURLから、[add page]ボタンをクリックします
すると、以下のような画面になれば成功です
実は、このままでもembedプラグインに値の設定は行えます
ですが、タイトル部分を変更しても、ページのタイトルとは連動しません
ページのタイトルを変更するには、ページを編集するか、ページプロパティを設定するかのどちらかですが
どちらの操作も、管理者権限で行うものでTodoを使う一般ログインユーザーにはさせたくない動作です
そこで、embedプラグインの入力フォームであるタイトルと、ページデータのタイトルを連動します
これには、embedプラグインのフックを使います