-1

我是 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。
请有人帮助我..

4

2 回答 2

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

于 2014-03-18T09:23:56.883 回答
0

试试下面的代码:

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

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

于 2014-03-18T09:15:43.973 回答