首页 >后端开发 >php教程 >PHP开发框架Yii Framework教程(31) Zii组件-DetailView示例

PHP开发框架Yii Framework教程(31) Zii组件-DetailView示例

黄舟
黄舟原创
2017-01-22 09:43:441461浏览

CDetailView为某个Model显示详细内容。这个要显示的Model可以为CModel或是关联数组。

CDetailView通过配置 attributes来决定Model的那些属性需要显示已经以何种格式显示。

每个属性可以使用Name:Type:Label来配置。其中 Type和Label都是可选的。

“Name” 属性名称.

“Label” 可以选,属性的标签名,如果没有配置,则使用属性名称 做为标签名称.

“Type” 属性的类型,通过类型来决定显示的格式 formatter.可以使用的类型有 raw, text, ntext, html, date, time, datetime, boolean, number, email, image, url. 等,缺省使用text.

本例修改上例Yii Framework 开发 教程(30) Zii组件-ListView 示例 ,修改显示列表的列表项模版_view.php ,使客户名称由普通文字变为Link。

FirstName . ' ' . $data->LastName,
$this->createUrl('view',array('CustomerId'=>$data->CustomerId)));?>

当点击客户姓 名时,转到链接view.php, 传入参数CustomerId设为Customer 的ID。
创建View.php,使用CDetailView组件。

widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'FirstName',
'LastName',
'Company',
'Address',
'City',
'State',
'Country',
'PostalCode',
'Phone',
'Fax',
'Email',
array(
'name'=>'Employee',
'value'=>$model->employee->FirstName,
),
),
));
?>

使用缺省的格式显示Customer的每个字段,主要的Employee字段,表Customer定义的是SupportRepId做为外键参 考Employee,因此修改类Customer定义Relations,参考Yii Framework 开发教程(27) 数据库-关联Active Record示例

public function relations()
{
return array(
'employee'=>array(self::BELONGS_TO,
'Employee', 'SupportRepId'),
);
}

显示结果如下:

679.png


以上就是PHP开发框架Yii Framework教程(31) Zii组件-DetailView示例的内容,更多相关内容请关注PHP中文网(www.php.cn)!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn