CListView Otomatis Dibuka Pada Halaman Terakhir

Salah satu kasus mengapa hal ini diperlukan misalnya thread pada sebuah forum, jika thread sebuah subjek sudah lebih dari satu halaman, maka agar pengguna dapat langsung fokus ke posting terbaru, ketika membuka theread, pengguna dapat langsung membaca halaman terakhir (posting terbaru).

Berikut adalah contoh implementasinya : 

/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionView($id)
{
$this->layout='//layouts/column1';

$model = $this->loadModel($id);
$forum=new Forum;
$dataProvider = Forum::model()->getAllThread($id);
$dataProvider = new CArrayDataProvider($dataProvider, array(
'id'=>'data-thread',
'pagination'=>array(
'pageSize'=>10,
),
));
$pager=$dataProvider->pagination;
$pager->itemCount=$dataProvider->totalItemCount;
if(!Yii::app()->request->isAjaxRequest)
$pager->currentPage=$pager->pageCount;
$obj = Employee::getPegawai(Yii::app()->user->NIP);

if(isset($_POST['Forum']))
{
$forum->attributes=$_POST['Forum'];
$forum->employee_id = $obj->id;
$forum->tgl = date("Y-m-d H:i:s");
$forum->judul = 'Re: '.$model->judul;
$forum->kategori_id = $model->kategori_id;
$forum->tanggapan_id = $id;
$forum->tgl_thread = $forum->tgl;

if($forum->save())
{
$this->refresh();
}
}

if($_POST['simpanpost']){
if(isset($_POST['postedit'])){
$idpost = $_GET['idpost'];
$postedit = $_POST['postedit'];

Forum::model()->updateByPk($idpost,array('pesan'=>$postedit));
}
$this->redirect(array('view','id'=>$id));
}


$this->render('view',array(
'model'=>$model,
'dataProvider'=>$dataProvider,
'forum'=>$forum,
));
}

Referensi

  1. Initialy set CListView to last page, http://www.yiiframework.com/forum/index.php?/topic/12290-

Comments