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