CHtml:CListView中的链接

时间:2014-03-18 09:04:42

标签: php yii clistview

我是Yii的新手。在我的一个页面中,我使用以下代码将公司名称列为链接。

<?php 
  $ads = Ads::model()->findAll();
  foreach ($ads as $ad)
  {
  ?>
    <li>
  <?php
    echo CHtml::link($ad->company,array('/user/ads/view/id/'.$ad->id.'/')).'<br>';                                                                                                                                          ?>
    </li>
 <?php
  }
 ?>

我想将其更改为CListView。
请有人帮帮我..

2 个答案:

答案 0 :(得分:2)

CListView需要一个ActiveDataProvider,因此您应该将代码更改为:

<?php 
    $ads = new Ads; // and then use the search() method to return an activedataprovider
    $this->widget('zii.widgets.CListView', array(
        'dataProvider' => $ads->search(),
        'itemView' => '_myview',
        'id' => 'blogslistview',       
)); 
?>

这将为每条记录呈现_myview.php。在_myview.php文件中,您可以使用$data->myattribute

访问记录属性

所以你的_myview.php看起来像这样:

<li>
<?php
echo CHtml::link($data->company, array('/user/ads/view/id/' . $data->id . '/'));
?>
</li>

更多信息:

http://www.yiiframework.com/doc/api/1.1/CListView http://www.yiiframework.com/doc/api/1.1/CActiveDataProvider

答案 1 :(得分:0)

尝试以下代码:

<?php $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$ads,
    'itemView'=>'_view',
    'id'=>'blogslistview',       
)); 
?>

参考:http://www.yiiframework.com/wiki/229/filter-search-with-clistview/