yii框架的widget是利用php程序,生成html代码。


一、 首先处理视图

<?php
// 固定用法
$form = $this->beginWidget(CActiveForm);
?>
... ...
<td>
<?php
  // 输出标签
  // $goods_model是由控制中传递过来的model对象
  // goods_name对应model中的 attributeLabel()
  echo $form -> labelEx($goods_model, 'goods_name');
?>
</td>
<td>
<?php
  // 输出 表单域中的文本框
  // $goods_model是由控制中传递过来的model对象
  // goods_name对应数据库中的字段
  echo $form -> textField($goods_model, 'goods_name');
?>
</td>
... ...
<?php
$this->endWidget();
?>


二、 处理控制器,将model中的对象传递到视图中,供表单使用

function actionAdd(){
$goods_model = new Goods();
$this->renderParital('add',array('goods_model'=>$goods_model));
}


三、处理model,给label提供显示名称


function attributeLabels(){
return array(
 'goods_name'=>'商品名称',
 ...
);
}