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

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'),
        );
}

显示结果如下:

本例下载:http://www.imobilebbs.com/download/yii/DetailViewDemo.zip

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索framework
, 属性
, 组件
, 教程
, DetailView
, 名称
, 示例
yii关联查询
yii2 user组件、yii2 组件、yii2扩展组件、yii2 自定义组件、yii 组件,以便于您获取更多的相关知识。

时间: 2025-01-30 04:10:37

PHP开发框架Yii Framework教程(31) Zii组件-DetailView示例的相关文章

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

CJuiSortable显示一个列表,列表中的列表项可以通过拖放重新调整顺序,它封装了 JUI Sortable插件. 其基本用 法如下: <?php Yii::app()->clientScript->registerCss('sortable', " #sortable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #sortable li {margin: 2px; padding: 4px; bo

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

CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下: <?php Yii::app()->clientScript->registerCss('selectable'," #selectable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #selectable li {margin: 2px; padding: 4

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

CJuiResizable可以使包含在其中的UI组件支持缩放功能,它封装了 JUI Resizable插件, CJuiResizable基本使用方 法如下: <?php $this->beginWidget('zii.widgets.jui.CJuiResizable', array( 'options'=>array( 'minWidth'=>50, 'minHeight'=>50, 'maxWidth'=>500, 'maxHeight'=>500, ), '

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

上篇介绍如果使用UI组件支持拖放,CJuiDroppable表示某个区域可以接受拖拉过来的UI组件,它封装了 JUI Droppable插件 . 我们修改上例,添加一个Droppable区域,当有UI组件拖放到该区域时,显示"Dropped". <?php $this->beginWidget('zii.widgets.jui.CJuiDroppable', array( 'options'=>array( 'drop'=>'js:function(event,

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

CJuiDraggable可以使包含着其中的其它UI组件实现拖放功能,它封装了 JUI Draggable插件. 要使某个UI组件可以 拖放,下面为使用CJuiDraggable的基本用法: <?php $this->beginWidget ('zii.widgets.jui.CJuiDraggable', array( 'options'=>array( 'cursor'=>'move', ), 'htmlOptions'=>array( 'style'=>'widt

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

CJuiSliderInput 显示一滑动条,它也封装了 JUI slider插件,可以用在Form中作为用户输入UI组件. 基本用法如 下: <center class="form"> <?php $form=$this->beginWidget('CActiveForm'); ?> <?php echo $form->errorSummary($model); ?> <?php $this->widget('zii.wid

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

CJuiSlider显示一滑动条,可以通过滑动条来缩放图像或用作其它功能,它封装了 JUI slider插件. 本例通过 CJuiSlider来缩放一副图像: <?php $this->widget('zii.widgets.jui.CJuiSlider', array( 'value'=>50, 'options'=>array( 'min'=>1, 'max'=>100, 'slide'=>'js: function(event,ui){ $("#i

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

CJuiProgressBar显示一进度条.它封装了 JUI Progressbar插件.CJuiProgressBar显示一进度条.它封装了 JUI Progressbar插件. <?php $this->widget('zii.widgets.jui.CJuiProgressBar', array( 'id'=>'progress', 'value'=>0, 'htmlOptions'=>array( 'style'=>'width:200px; height:20

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

CJuiDialog用来显示对话框,模式或非模式对话框.它封装了 JUI Dialog插件. 其基本用法如下 <h2><?php echo 'Dialog';?></h2> <?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog', 'options'=>array( 'title'=>'Dialog', 'width'=>500, '