Yii中有很方便的日期控件CJuiDatePicker,其类在目录‘zii.widgets.jui.CJuiDatePicker‘下。
用法非常简单,只需要的渲染的页面加入一下php代码就可以。
<?php $this->widget(‘zii.widgets.jui.CJuiDatePicker‘, array(
‘model‘=>$project_model,
‘attribute‘=>‘sign_time‘,
‘language‘=>‘zh_cn‘,
‘options‘=>array(
‘showAnim‘=>‘fold‘,
‘dateFormat‘=>‘yy-m-d‘,
),
‘htmlOptions‘=>array(
‘style‘=>‘height:20px;‘,
),
));?>
最后在页面上生成的html代码如下。
<input style="height:20px;" id="signDate" type="text" class="hasDatepicker">
分析代码:
model:控制器传到视图里的对象模型
attribute:该对象的属性
language:语言
还可以有name,value属性,表示input元素里的name,value属性。
options:主要是日历控件显示相关的
showAnim:日历框出现的动画效果,可选值slideDown, show(the default), slideDown, fadeIn, fold
showOn:日历框如何被触发,both:点图标和输入框均可;focus:点输入框;button:点图标
buttonImage:图标图片地址
maxDate:可选的最大日期,对应的还有minData
dateFormat:日历数据格式。注意,上面value的日期格式必须与此处一致,否则数据不会与控件匹配。
htmlOptions:input框的一些html设置,如样式,最大长度等。
Yii中有很方便的表格控件,其类在目录‘zii.widgets.grid‘下。
Yii Zii的组件,以表格的形式显示数据,支持分页和排序。
GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
- CGridColumn为所有Grid 列表项的基类,表格的每列可以有一个表头,多个数据单元,和一个可选的表尾单元格。
- CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”。
- CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,通过配置selectableRows来修改
- CDataColumn 表示该单元为数据或是表达式,通过配置name或value,前者表示数据模型的属性名称,后者代码一个PHP表达式。
- CLinkColumn 表示一个超链接,通过配置 label ,url或 imageUrl来设置链接。
$this->widget(‘zii.widgets.grid.CGridView‘, array(
‘dataProvider‘=>$dataProvider, //$dataProvider表示数据对象模型
‘columns‘=>array( //显示列(属性)
‘title‘, // 显示属性
‘category.name‘, // 显示关联对象数据的name属性
‘content:html‘, // 以HTML格式显示content属性
array( // 属性的设置
‘name‘=>‘create_time‘,
‘value‘=>‘date("M j, Y", $data->create_time)‘,
),
array(
‘name‘=>‘authorName‘,
‘value‘=>‘$data->author->username‘,
),
array( // 用buttons类显示
‘class‘=>‘CButtonColumn‘,
),
),
));