« テーブル定義書の自動生成 | メイン | テーブル定義書の自動生成 その3 »

ethna

テーブル定義書の自動生成 その2

 列名を日本語表記する。WEBをデータベースのフロントエンドとすると、機械的に全部の列をフォーム定義することがほとんど。列とフォーム要素は1対1として action の継承元で
class APPID_ActionForm extends Ethna_ActionForm{
    var $form_template = array(
        'fieldName'    => array(
            'name'     => '列に対するWEBでの表示名',
            'required' => false,
            'form_type'=> FORM_TYPE_RADIO,
            'type'     => VAR_TYPE_INT,
            'option'   => array(
                '1'=>'A',
                '2'=>'B',
            ),
        ),
            ~
    );
}
という具合。さらに、view の継承元で
class APPID_ViewClass extends Ethna_ViewClass{
    function _setDefault(&$renderer){
        $smarty->assign_by_ref( 'formDef', $this->action_form->getDef() );
    }
}
とすれば、template で↓

{$formDef[fieldName].name}

のようにフォーム定義を参照可能になる。もちろん

{$formDef[fieldName].option}

でデータベースへセットするHTML SELECT要素・RADIO要素などの各配列要素も表示できる。

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/6550

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)