(07-04-1394، 02:18 ق.ظ)hfaal نوشته: سلام
موقع مرور صفحات در pagination خطای 400 ایجاد میشود
مسیر و نام فایل بشرح زیر است
htdocs/blog/protected/views/tags/index.php
و URL آن localhost/blog/tags/index?page=2 است
و کد ایجاد شده:
<?php foreach($posts as $post) : ?>
<?php $this->renderPartial('/posts/_view', compact('post')); ?>
<?php endforeach; ?>
<?php if($pageCount > 1) : ?>
<ul class="pagination">
<?php for($i = 1; $i <= $pageCount; $i++) : ?>
<li<?php echo ($i == $page ? ' class="active"' : ''); ?>>
<a href="<?php echo ($i == $page ? '#' : $this->createUrl('index', array('page'=>$i))); ?>"><?php echo $i; ?></a>
</li>
<?php endfor; ?>
</ul>
<?php endif; ?>
لطفا جهت رفع خطا راهنمایی فرمائید
با تشکر
این کد را در فایل TagsController.php قرار داده ام
public function actionIndex($id, $page = 1)
{
if(!($tag = Tags::model()->findByPk($id))) {
throw new CHttpException(404, 'برچسب موردنظر یافت نشد.');
}
$criteria = new CDbCriteria;
$criteria->with = 'tags';
$criteria->together = true; // force to join
$criteria->addColumnCondition(array('tags.id' => $id, 'tags.confirmed' => 1, 't.confirmed' => 1));
$totalPosts = Posts::model()->count($criteria);
$itemsPerPage = 2;
$pageCount = ceil($totalPosts / $itemsPerPage);
$page = max(1, intval($page));
$criteria->order = 't.id DESC';
$criteria->limit = $itemsPerPage;
$criteria->offset = ($page - 1) * $itemsPerPage;
$posts = Posts::model()->findAll($criteria);
if(!$posts) {
throw new CHttpException(404, 'مطلبی با برچسب "' . CHtml::encode($tag->name) . '" یافت نشد.');
}
$this->render('index', compact('posts', 'pageCount', 'page'));
}
و کل فایل TagsController.php
<?php
class TagsController extends Controller
{
public function filters()
{
return array(
'accessControl',
);
}
public function accessRules()
{
return array(
array(
'allow',
'actions'=>array('create', 'delete', 'edit', 'index', 'list'),
'users'=>array('@'),
),
array(
'deny',
'users'=>array('*'),
),
);
}
public function actionList()
{
if(!($tags = Tags::model()->findAll(array('condition'=>'user_id=:userId and confirmed=1 order by id desc','params'=>array(':userId'=>Yii::app()->user->id))))){
throw new CHttpException(404, 'هیچ برچسبی موجود نیست.');
}
$this->render('list', compact('tags'));
}
public function actionIndex($id, $page = 1)
{
if(!($tag = Tags::model()->findByPk($id))) {
throw new CHttpException(404, 'برچسب موردنظر یافت نشد.');
}
$criteria = new CDbCriteria;
$criteria->with = 'tags';
$criteria->together = true; // force to join
$criteria->addColumnCondition(array('tags.id' => $id, 'tags.confirmed' => 1, 't.confirmed' => 1));
$totalPosts = Posts::model()->count($criteria);
$itemsPerPage = 2;
$pageCount = ceil($totalPosts / $itemsPerPage);
$page = max(1, intval($page));
$criteria->order = 't.id DESC';
$criteria->limit = $itemsPerPage;
$criteria->offset = ($page - 1) * $itemsPerPage;
$posts = Posts::model()->findAll($criteria);
if(!$posts) {
throw new CHttpException(404, 'مطلبی با برچسب "' . CHtml::encode($tag->name) . '" یافت نشد.');
}
$this->render('index', compact('posts', 'pageCount', 'page'));
}
public function actionDelete($id)
{
if(!($tag = Tags::model()->findByPk($id))) {
throw new CHttpException(404, 'برچسب موردنظر یافت نشد.');
}
$tag->delete();
$this->redirect(array('index'));
}
public function actionCreate()
{
// $model = new tags;
// $this->render('create', compact('model'));
$model = new Tags;
$model->name = '';
$model->user_id = Yii::app()->user->id;
$model->confirmed = 1;
if(isset($_POST['ajax']) && $_POST['ajax'] === 'link-form') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
if(isset($_POST['Tags'])) {
$model->attributes = $_POST['Tags'];
if($model->save()) {
$this->redirect(array('index'));
}
}
$this->render('create', compact('model'));
}
public function actionEdit($id)
{
// $model = new tags;
// $this->render('edit', compact('model'));
if(!($model = Tags::model()->findByPk($id))) {
throw new CHttpException(404, 'برچسب موردنظر یافت نشد.');
}
if(isset($_POST['Tags'])) {
$model->attributes = $_POST['Tags'];
if($model->save()) {
$this->redirect(array('index'));
}
}
$this->render('edit', compact('model'));
}
}
من در بررسی که در این مورد داشتم در اینترنت در مورد نتظیمات فایل main در فولدر config مطالبی بود برای تنظیم حالت $_get ولی من نتوانستم تنظیمات صحیح را انجام دهم