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的日期格式必须与此处一致,否则数据不会与控件匹配。
Yii中有很方便的表格控件,其类在目录‘zii.widgets.grid'下。
Yii Zii的组件,以表格的形式显示数据,支持分页和排序。
GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
$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',
),
),
));