我正在尝试使用我添加到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',
),
),
));
getArticlesImages在视图php中运行得很完美,但在这里我不知道是否可以使用它....
在getArticleImage中,我使用字段PageImage的一些信息来重新创建正确的外部路径,
任何想法?
非常感谢
答案 0 :(得分:4)
试试这个:
array(
'type' => 'image',
'value' => 'Yii::app()->controller->getArticleImage($data->PageImage)',
),
它应该有用。
答案 1 :(得分:3)
从Yii class reference引用文档,值必须是字符串:
将使用evaluateExpression为每个数据单元计算的PHP表达式,其结果将呈现为数据单元格的内容。
一个好的做法是使用&#34;查看助手&#34;,即一组静态方法,来放置getArticleImage
功能,这样你就可以保持视图清洁和轻盈。
查看助手:
<?php
class ArticleViewHelper
{
public static function getArticleImage($article)
{
return ... your code goes here
}
}
然后从列定义中调用它:
array(
'type' => 'image',
'value' => 'ArticleViewHelper::getArticleImage($data)',
)
这样可行。