OpenPNEで日記新しい項目を追加したい時

投稿者: | 2009年8月12日

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→文字列

———————————————————————-

これでデータの項目表示、フォームデータの受け渡しが可能となる。
あとは、渡されたデータをデータベースに登録するロジックを追加すればいい。