OpenPNEでのSNS運用していて、日記等のフォームに新しい項目を追加したいこともあるだろう。
しかし、OpenPNEの場合、単純にテンプレートに追加するだけでは処理されない。
その場合は、以下のファイルを修正していくことで変更することが可能となる。
———————————————————————-
まずは、表示のためのテンプレートファイル
フォームの希望する場所(テーブル処理されている部分)に
<tr>
<th>項目</th>
<td>内容</td>
</tr>
と追加する。
■変更ファイル
templates/
h_diary_add.tpl
h_diary_add_confirm.tpl
※項目内容をデータベースから取得する場合や、フォーム内に登録者毎のデータが必要な場合は、以下のPHPファイル内で取得する
———————————————————————-
テンプレート用にデータ取得等の処理が必要であれば、以下のPHPファイル内で処理し
$this->set(‘hoge’, $hoge);
といった形でtplに渡せばいい
■変更ファイル
page/
h_diary_add.php
h_diary_add_confirm.php
———————————————————————-
項目内での変更や選択肢の追加等の場合は上記page内とtemplates内のファイルのみで良いが、新たに項目を追加しリクエスト変数が増えた場合は、validate内で定義してやる必要がある
■変更ファイル
validate/do
h_diary_add_insert_c_diary.ini
validate/page
h_diary_add.ini
h_diary_add_confirm.ini
上記ファイル内で、欲しいデータ形式に合わせ、新たなリクエスト変数を定義する
type
int→整数
string→文字列
———————————————————————-
これでデータの項目表示、フォームデータの受け渡しが可能となる。
あとは、渡されたデータをデータベースに登録するロジックを追加すればいい。