点击这里给我发消息 点击这里给我发消息

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

添加时间:2013-12-6
    相关阅读: 开发 数据库 PHP 框架 链接
 

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。

<h3><?php echo CHtml::link($data->FirstName . ' ' . $data->LastName,    
$this->createUrl('view',array('CustomerId'=>$data->CustomerId)));?></h3>当点击客户姓 名时,转到链接view.php, 传入参数CustomerId设为Customer 的ID。
创建View.php,使用CDetailView组件

<h2><?php echo 'View Customer'; ?></h2>    
        
<?php $this->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'),    
        );    
}

显示结果如下:

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册