OneThird CMS

Lightweight CMS for Small website, Web application framework.

Download Document

english

ToDoアプリを作成する(2):登録フォームを作成する

フォルダが準備出来ましたので、次に登録フォームを作成します

これには、フォルダプラグインの標準機能を使います

フォルダプラグインは、ページを新規作成時、はじめにセットするデフォルトの書式を定義することができます

通常は、テキスト文章等のセットしますが、ここでは更に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プラグインのフックを使います