フォームという単位

入力欄のセットを先に定義しておき、コンテンツに付けたり外したりできます。

お知らせ、商品、よくある質問。ページの種類ごとに、入力してほしい項目のセットが違います。

入力欄がページごとのその場作りだと、同じ種類のページでも項目がばらつきます。あるお知らせには日付があり、別のお知らせには無い。一覧や検索でまとめて扱おうとしたときに、揃っていないことが分かります。

入力項目のセットを、フォームとして先に定義します。ページに本文を直接書くのではなく、コンテンツにフォームを付けます。

同じフォームが付いたコンテンツは、同じ項目のセットを持ちます。だから一覧にも、検索にも、出力の切り替えにも、まとめて使えます。項目を足すときはフォームの定義に足せば、付いているすべてのコンテンツに同じ欄が現れます。

フォームは項目の集まり、テンプレートはフォームのセットです。一つのテンプレートで、一つの情報をコンテンツとして管理します。

writeWiredでは、入力項目のセットを、フォームとして定義します。コンテンツにはフォームを付けて登録し、同じフォームが付いたコンテンツは、同じ入力欄のセットを持ちます。

フォームの定義に項目を足すと、そのフォームが付いているすべてのコンテンツの編集画面に、同じ欄が現れます。

同じ種類の情報を、同じ形で持つためです。形が揃っていることが、あとの全部の前提になります。

一度きりの特設ページまでフォーム化する必要はありません。繰り返し作るものから定義します。

例えばこんな使い方

セミナー情報のサイトなら、一件のコンテンツを次のようなフォームのセットで設計します。

フォーム 繰り返し 主な項目
ページ設定 1 認証の要否、対象、種別タグ、キーワード
セミナー本体 1 タイトル、テーマ、開催日・時間、会場、主催・共催、案内画像、案内PDF
座長・演題・演者 1:N プログラムの数だけ繰り返し
更新情報 0:N 更新のお知らせ

関連パターン

テンプレート・パーツwriteWiredの開発の考え方