Yii gridview在值中使用函数

Yii gridview在值中使用函数,yii,Yii,我正在尝试使用我添加到admin.php中的控制器中的函数 这是密码 <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'articles-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'DocType',

我正在尝试使用我添加到admin.php中的控制器中的函数

这是密码

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'articles-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
            'DocType',
            array(
              'type' => 'image',
              'value' => $this->getArticleImage($data->PageImage),
            ),
            array(
                    'class'=>'CButtonColumn',
            ),
    ),
试试这个:

array(
    'type' => 'image',
    'value' => 'Yii::app()->controller->getArticleImage($data->PageImage)',
),
它应该可以工作。

试试这个:

array(
    'type' => 'image',
    'value' => 'Yii::app()->controller->getArticleImage($data->PageImage)',
),
它应该可以工作。

引用来自的文档,值必须是字符串:

将使用evaluateExpression对每个数据单元求值的PHP表达式,其结果将作为数据单元的内容呈现

一个好的做法是使用“视图助手”(即静态方法的集合)来放置
getArticleImage
函数,这样可以保持视图干净明亮

查看帮助程序:

<?php
class ArticleViewHelper
{
    public static function getArticleImage($article)
    {
        return  ... your code goes here
    }
}
这将起作用。

从引用文档时,值必须是字符串:

将使用evaluateExpression对每个数据单元求值的PHP表达式,其结果将作为数据单元的内容呈现

一个好的做法是使用“视图助手”(即静态方法的集合)来放置
getArticleImage
函数,这样可以保持视图干净明亮

查看帮助程序:

<?php
class ArticleViewHelper
{
    public static function getArticleImage($article)
    {
        return  ... your code goes here
    }
}

这将起作用。

谢谢Julz,你不仅解决了我的问题,还帮助我了解在哪里添加功能!!!乐于帮助,组织良好的代码总是更好的代码;)谢谢Julz,你不仅解决了我的问题,还帮助我了解在哪里添加功能!!!乐于帮助,组织良好的代码总是更好的代码;)