ようやく、フィールドを追加する手順に入ります。白扇では、専用のテーブルを用意してますが、ミニ白扇ではusersテーブルをALTERしちゃいます。理由は、そっちの方が楽だから、です
フィールドを追加する場合でも、やることは基本的に一緒です。ユーザ情報関連の3種類のテンプレートをカスタマイズして、include/config.php にロジックを記述する、それだけです。違いは、その作業の前にALTER TABLEを行うこと、ロジックの記述がちょっとだけ複雑になること、の2点です。
実は、ミニ白扇には最初からサンプルが入っていますので、そのサンプルに従って、「性別(sex)」と「誕生日(birth)」をusersテーブルに追加して、ユーザ登録・情報・編集の3つのビューにも表示するようにしましょう。
I. ALTER TABLEする(DBのusersテーブルにフィールドを追加する)
泥臭いと言われそうですが、usersテーブルをALTERしちゃいます。phpMyAdminを使っていれば簡単でしょう。フィールドを追加するだけです。
もちろん、SQLに慣れている人は、直接発行してください。
ALTER TABLE (prefix)_users ADD sex tinyint not null default 0 ;
ALTER TABLE (prefix)_users ADD birth date not null default '1950-01-01' ;
性別みたいに、取り得る数値が限られている場合、本当はint型より、enum型の方がいいのですが、ここでは細かいことは言いません。
II. 各種テンプレートを書き換える
判っていると思いますが、テンプレートを書き換える、とは、modules/(dirname)/templates/下のファイルを編集することじゃありませんよ。必ず、altsysかtplsadminを使ってください。
II-1 登録フォームに追加
minihaku_register.html を編集して、以下の部分を挿入。
<tr valign="top" align="left">
<td class="head">性別</td>
<td class="even">
<{html_radios name="sex" options=$sex_options selected=$sex}>
</td>
</tr>
<tr valign="top" align="left">
<td class="head">誕生日</td>
<td class="even">
<{html_select_date field_order="YMD" month_format="%m" day_format="%02d" start_year="-100" end_year="-1" time=$birth }>
</td>
</tr>
<tr valign="top" align="left">
<td class="head">性別</td>
<td class="even">
<{html_radios name="sex" options=$sex_options selected=$sex}>
</td>
</tr>
<tr valign="top" align="left">
<td class="head">誕生日</td>
<td class="even">
<{html_select_date field_order="YMD" month_format="%m" day_format="%02d" start_year="-100" end_year="-1" time=$birth }>
</td>
</tr>
<tr valign="top">
<td class="head">性別</td>
<td class="odd"><{$user_uid|minihaku_userinfo:"sex":"uid"}></td>
</tr>
<tr valign="top">
<td class="head">誕生日</td>
<td class="odd"><{$user_uid|minihaku_userinfo:"birth":"uid"}></td>
</tr>
'options' => array( 0 => 'male' , 1 => 'female' ) ,
'options' => array( 0 => '男' , 1 => '女' ) ,