bootstrap.widgets.TbDetailView,Yii app

时间:2014-03-05 10:49:49

标签: yii yii-booster

模型 -

enter code here
 public function searchShop()
{
        $criteria = new CDbCriteria();
            $criteria->compare("name", $this->category, TRUE, "OR");
                $criteria->compare("shopname", $this->category, TRUE, "OR");
                    $criteria->compare("category", $this->category, TRUE, "OR");

            return Shops::model()->findAll($criteria);  
}

代码----

enter code here
<?php 
foreach($models as $model):
    $this->widget(
'bootstrap.widgets.TbDetailView',
array(
'type'=>'bordered condensed',
'data' => array(
'id' =>array('view', 'id'=>$model->ID),
'Shop Name' => $model->shopname,
'Category' => $model->category,
'ID' => CHtml::link(CHtml::encode($model->ID), array('view', 'id'=>$model->ID))
),
'attributes' => array(
array('name' => 'Shop Name', 'label' => 'Shop name'),
array('name' => 'Category', 'label' => 'Category'),
array('name' => 'ID', 'label' => 'ID'),
),
)
);

echo "<br><hr><br>";
 endforeach;
 ?>

我希望通过点击它来链接ID,它将呈现视图文件,即商店模型的view.php

我使用了CHtml :: link(CHtml :: encode($ model-&gt; ID),数组('view','id'=&gt; $ model-&gt; ID))但它显示的路径是查看为1

帮帮我...... 提前谢谢

1 个答案:

答案 0 :(得分:1)

尝试

 CHtml::link(CHtml::encode($model->ID),
CController::createUrl('site/view',array('id'=>$model->ID)))

这里我假设动作视图位于站点控制器中。如果它位于某个其他模块名称下,那么您可以像这样写"moduleName/controllerName/actionName"

修改 好的,你必须尝试一些事情。 TbDetailView扩展了CDetatilView。现在您可以使用TbDetailView作为

$this->widget(
'bootstrap.widgets.TbDetailView',
array(
'type'=>'bordered condensed',
'data' => array(
'id' =>array('view', 'id'=>$model->ID),
'Shop Name' => $model->shopname,
'Category' => $model->category,
),
'attributes' => array(
array('name' => 'Shop Name', 'label' => 'Shop name'),
array('name' => 'Category', 'label' => 'Category'),
array('label' => 'ID', 'value' => CHtml::link(CHtml::encode($model->ID), array('view', 'id'=>$model->ID))),
),
)
);

你也可以这样做

 $this->widget(
'bootstrap.widgets.TbDetailView',
array(
'type'=>'bordered condensed',
'data' =>$model,
'attributes' => array(
array('name' => 'shopname', 'label' => 'Shop name'),
array('name' => 'category', 'label' => 'Category'),
array('value' =>  CHtml::link(CHtml::encode($model->ID), array('view', 'id'=>$model->ID))
),, 'label' => 'ID'),
),
)
)