CDetailView & CGridColumn

DetailView 和 GridView 无疑是非常好用的部件~非常感谢yii的开发者们

我发现 CDetailView 的 attributes 和 CGridView 的 columns的设置不一样,

在 CDetailView中,属性的定义,使用更为简便的自定义方法如下:


'attributes' => array(

    'created:date',

    'content:html',

),

而在 CGridView中,栏(columns)的定义,则是比较规范的方法来定义,如下:


'columns' => array(

    array(

        'dataField' => 'created',

        'dataExpression' => 'date("M j, Y", $data->created)',

    ),

),

虽然,后者会显得更麻烦一些,可是自定义能力会更强~

如,在CDetailView中,看到 :date 的修饰符,只能够通过整体的 dateFormat 来定义格式,

可是当一个表里面,有多种日期格式字段,就显得无助了(不知道是否还有其它技巧?)

我的建议是,让 CDetailView的attributes使用跟CGridView中columns的格式一样的定义,会让 CDetailView更具有使用价值~

CDetailView也有规范的做法定义一个attribute:




array('name'=>'created', 'value'=>date("M j, Y", $data->created))



你提到的是一种简写方式。

great! ;)