0
某些类具有名为status
(可以是0或1)的属性。在相应的模型中,我定义了两个变量STATUS_CLOSED = 1
和STATUS_OPEN = 2
。Yii - 使用模型函数(使用模型属性)的CDetailView值
我使用的是CDetailView显示内部的“查看”视图类似车型档案:
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'account_number',
'account_type',
array(
'label'=>'Banco',
'type'=>'raw',
'value'=>CHtml::encode($model->bank->bank_name),
),
),
));
我在模型中定义这两个函数:
public function statusLabels()
{
return array(
self::STATUS_CLOSED => 'Inactiva',
self::STATUS_OPEN => 'Activa',
);
}
public function getStatusLabel($status)
{
$labels = self::statusLabels();
if (isset($labels[$status])) {
return $labels[$status];
}
return $status;
}
我需要定制CDetailView(可能使用这两个函数)根据状态值显示相应的标签。
我想这会工作:
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'account_number',
'account_type',
array(
'label'=>'Estado',
'type'=>'raw',
'value'=>$model->statusLabel($model->status),
),
),
));
,但我得到:Missing argument 1 for BankAccount::getStatusLabel()
我做错了吗?