Php TbDetailView自定义属性GetStatusName
试图在Php TbDetailView自定义属性GetStatusName,php,yii,yii-extensions,Php,Yii,Yii Extensions,试图在TbDetailView上使用我的模型函数GetStatusName,但它不起作用。 它在TbGridView上正常工作 模型函数: public function getStatusName() { switch($this->status) { case self::STATUS_ACTIVE: return 'Active'; break; case self::STATUS_DEL
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;
}
}
代码:
或:
在输入后编辑。在
CDetailView
中,值必须直接指定,不带引号。该值与CGridView
中的值不同,因此请使用:
array('name' => 'status', 'type' => 'text', 'value' => $model->statusName)
下面是一个小示例,我现在了解了如何使用格式化值:
<?php $this -> widget('bootstrap.widgets.TbDetailView', array(
'data' => $user,
'type' => 'bordered striped condensed',
'attributes' => array(
'name',
array(
'name' => 'birthDate',
'value' => Yii::app()->dateFormatter->format("dd.MM.yy", strtotime('$data->birthDate')),
),
'code',
),
));
?>
没有关系属性。请参阅原始帖子(已更新)。第一个选项:Yii错误:未定义的变量:数据第二个选项:致命错误:调用未定义的函数getStatusName()Yii错误:未定义的变量:dataoops以前没有完整地看到您的代码,它应该是$model
,基本上,您可以使用传递给视图的任何模型对象直接调用函数。更新答案。
<?php
$this->widget('bootstrap.widgets.TbDetailView',array(
'type'=>'bordered condensed',
'data'=>$model,
'attributes'=>array(
'name',
array('name' => 'status', 'type' => 'text', 'value' => $data->statusName),
),
));
?>
<?php
$this->widget('bootstrap.widgets.TbDetailView',array(
'type'=>'bordered condensed',
'data'=>$model,
'attributes'=>array(
'name',
array('name' => 'status', 'type' => 'text', 'value' => getStatusName($data->getStatusName)),
),
));
?>
array('name' => 'status', 'type' => 'text', 'value' => $model->statusName)
<?php $this -> widget('bootstrap.widgets.TbDetailView', array(
'data' => $user,
'type' => 'bordered striped condensed',
'attributes' => array(
'name',
array(
'name' => 'birthDate',
'value' => Yii::app()->dateFormatter->format("dd.MM.yy", strtotime('$data->birthDate')),
),
'code',
),
));
?>