0

在 CDetailView 中,如何将给定值链接到另一个页面?假设我有一本书属于图书类别,例如科幻小说。图书详情页面显示以下数据:

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

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

大批(
    '标签' => '类别',
    '价值' => $model->category->name,
    'urlExpression'=>'Yii::app()->createUrl("category/view",
        数组(“cid”=>$data->category_id))',
    'class'=>'CLinkColumn',
),

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

4

2 回答 2

6
$this->widget('CDetailView', array(
'data'=>$model,
'attributes'=>array(
    'title',
    'author',
    array(
        'name'=>'Category',
        'type'=>'raw',
        'value'=>CHtml::link('Link Title', 'url'),
    ),
    ...
于 2013-09-04T16:13:55.580 回答
1

您混淆了 CDetailViewCGridView

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

CDetailView只有一个attributes属性。

我想你可以在value属性中生成你的 url 并使用type = raw来显示它

于 2013-09-04T13:59:18.270 回答