列名を日本語表記する。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要素などの各配列要素も表示できる。