YII - CDetailView:链接到另一个页面

时间:2013-09-04 13:35:06

标签: yii

在CDetailView中,如何将给定值链接到另一个页面?假设我有一本书是图书类别的成员,例如科幻小说。书籍详细信息页面显示以下数据:

Book title: Dune
Author: Frank Herbert
Category: Science Fiction --> link 

科幻应该是/category/view的链接,就像下面的代码一样,这对我不起作用:

array(
    'label' => 'Category',
    'value' => $model->category->name,
    'urlExpression'=>'Yii::app()->createUrl("category/view", 
        array("cid"=>$data->category_id))',
    'class'=>'CLinkColumn',
),

我的印象是urlExpression不能与CDetailView一起使用。它是类CLinkColumn(»CGridColumn»CComponent)的属性,所以我在这里走错了路。处理这个问题的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

$this->widget('CDetailView', array(
'data'=>$model,
'attributes'=>array(
    'title',
    'author',
    array(
        'name'=>'Category',
        'type'=>'raw',
        'value'=>CHtml::link('Link Title', 'url'),
    ),
    ...

答案 1 :(得分:1)

您正在混淆 CDetailView CGridView

urlExpression CLinkColumn 属性,CLinkColumns用于CGridViews的columns属性。

CDetailView只有属性属性。

我猜您可以在属性中生成您的网址,并使用 type = raw 来显示它