0

CDetailView で、与えられた値を別のページにリンクするにはどうすればよいですか? たとえば、Science Fiction などの本のカテゴリのメンバーである本を持っているとします。書籍の詳細ページには、次のデータが表示されます。

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

Science Fiction は/category/view、次のコードのように へのリンクである必要がありますが、これはうまくいきません。

配列(
    'ラベル' => 'カテゴリ',
    '値' => $model->category->name,
    'urlExpression'=>'Yii::app()->createUrl("category/view",
        array("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を混同しています。

urlExpressionCLinkColumn属性であり、CLinkColumns は CGridViews の columns 属性で使用されます。

CDetailViewにはattributes属性しかありません。

value属性でURL を生成し、 type = rawを使用して表示できると思います

于 2013-09-04T13:59:18.270 に答える