【发布时间】:2016-05-19 23:22:45
【问题描述】:
所以我想在我的站点/索引页面内的 div 中部分呈现另一个控制器的索引页面(控制器的名称是 ObavjestenjaController)。我在另一个控制器中定义了 actionIndexPartial,它看起来像这样:
public function actionIndexPartial()
{
$dataProvider=new CActiveDataProvider('Obavjestenja', array(
'pagination' => array('pageSize'=>3,),
));
$this->renderPartial('index',array(
'dataProvider'=>$dataProvider,
));
}
在我的网站/索引中,我有这个 div:
<div id="obavjestenjadiv">
<?php
Yii::app()->runController('Obavjestenja/indexPartial');
?>
</div>
并且页面显示在所需的div中。失败的是从 CListView 进行页面交换。默认情况下,当我更改为第二页时,它希望将我重定向到 obavjestenja/index&Obavjestenja_page=2 页面,但我希望保持在同一页面(站点/索引)中,并且页面在 div 中正确更改。我怎样才能做到这一点?
编辑: 默认情况下,AJAX 将我重定向到那里。我通过在此处创建自定义 CListView 小部件来编辑站点/索引中的 div,为它提供来自相应模型的 dataProvider 并在其中显示结果。像魅力一样工作。
站点/索引 div:
<?php
$dataProvider = new CActiveDataProvider('Obavjestenja', array(
'pagination' => array('pageSize'=>3,),
));
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'//obavjestenja/_view',
));
?>
唯一的是,当 AJAX 刷新 CListView 时,它会将我返回到页面顶部。我可以避免这种情况吗?谢谢,希望我的解决方案能帮到你。
【问题讨论】:
标签: javascript php ajax yii