我想简化我的观点并利用ClisView功能(排序,分页......)。
(我已经在评论列表上循环并显示列表)。
为实现这一目标,我将renderPartial作为我的_comments视图
$this->renderPartial('_comments',array(
'dataProvider'=>$dataProvider,
在我的_comments视图中,为了列出与帖子相关的评论,我使用
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_comment',
'template'=>"{items}\n{pager}",
)); ?>
_comment视图只包含以下代码
<div class="comment">
<div class="content">
<?php
$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $data->content;
$this->endWidget();
?>
</div>
</div>
它工作正常,它显示正确的数据但不在正确的位置。
要说清楚,假设我有2个帖子,POST 1有3条评论,POST 2有2条评论。
发布1 - 链接到评论
评论1(帖子1)
评论2(帖子1)
评论3(第1篇)
发布2-评论链接
发布1 - 链接到评论
评论1(帖子2)
评论2(帖子2)
发布2 - 链接到评论
所以评论显示在帖子1下,而不是帖子2。
发布1 - 链接到评论
发布2 - 链接到评论
评论1(帖子2)
评论2(帖子2)
我必须澄清帖子列表也是由cListView显示的,当我查看源代码时,生成的类名是相同的。
这里是定义dataprovider的代码
$criteria=new CDbCriteria(array(
'condition'=>'post_id='.$post_id,
'order'=>'create_time DESC',
));
$dataProvider=new CActiveDataProvider('Comment', array(
'pagination'=>array(
'pageSize'=>Yii::app()->params['commentsPerPage'],
),
'criteria'=>$criteria,
));
$this->renderPartial('_comments',array(
'dataProvider'=>$dataProvider,
));
所以我的问题是,如何让ClistView生成不同的类名?
你知道我如何能够显示评论吗?
提前感谢您的帮助