1

Yii CActiveDataProvider が複雑な式を解析する方法に似たものを実装しようとしています。以下のコードを例にとると、基本的には「date("M j, Y", $data->create_time)」のような値を指定できるようにしたいです。

Yii のどのクラスが良い洞察を提供してくれるか知っている人はいますか? 私は CDataColumn クラスを見ましたが、あまり運がありませんでした。

$this-widget('zii.widgets.grid.CGridView', array(
'dataProvider'=$dataProvider,
'columns'=array(
    'title',          // display the 'title' attribute
    'category.name',  // display the 'name' attribute of the 'category' relation
    'content:html',   // display the 'content' attribute as purified HTML
    array(            // display 'create_time' using an expression
        'name'='create_time',
        'value'='date("M j, Y", $data-create_time)',
    ),
),

));

4

1 に答える 1

0

PHP 式を評価できるウィジェットを作成しますか?

evaluateExpressionCDataColumn でも使用されるこのメソッドがあります。メソッドで CDataColumn がそれをどのように使用するかを確認できますrenderDataCellContent

method 内のコードを見ると、 andevaluateExpressionが使用されています。evalcall_user_func

また、PHP 5.3 を使用している場合は、無名関数を使用できます。例えば

$this-widget('zii.widgets.grid.CGridView', array(
    'dataProvider' = $dataProvider,
    'columns' = array(
        'title',          // display the 'title' attribute
        'category.name',  // display the 'name' attribute of the 'category' relation
        'content:html',   // display the 'content' attribute as purified HTML
        array(            // display 'create_time' using an expression
            'name' => 'create_time',
            'value' => function($data){
                return date("M j, Y", $data->create_time);
            }
        ),
    ),
));
于 2012-09-24T09:49:58.800 に答える