编程语言
首页 > 编程语言> > php – TbDetailView自定义属性GetStatusName

php – TbDetailView自定义属性GetStatusName

作者:互联网

试图在TbDetailView上使用我的模型函数GetStatusName,但它无法正常工作.
它在TbGridView上正常工作.

型号功能:

public function getStatusName()
{
    switch($this->status)
    {
        case self::STATUS_ACTIVE:
            return 'Active';
            break;
        case self::STATUS_DELETED:
            return 'Deleted';
            break;
        default:
            return 'Unknown';
            break;
    }
}

码:

<?php
$this->widget('bootstrap.widgets.TbDetailView',array(
    'type'=>'bordered condensed',
    'data'=>$model,
    'attributes'=>array(
        'name',
        array('name' => 'status', 'type' => 'text', 'value' => '$data->statusName'),
    ),
));
?>

视图:

Name    John
Gender  $data->statusName

解决方法:

在CDetailView中,必须直接指定值而不带引号.该值不像CGridView中那样被评估,因此使用:

array('name' => 'status', 'type' => 'text', 'value' => $model->statusName)

标签:yii-extensions,php,yii
来源: https://codeday.me/bug/20190725/1535896.html