1
페이지 매기기를 만들었지 만 모든 게시물 (모든 페이지가 8 개 있습니다)이 모든 페이지에 표시됩니다. 각 페이지에 4 개를 보여주고 싶습니다. 내 실수는 어디 갔지? 나는이 문제가 count($posts)
에 있다고 생각합니다. 나는 다른 게시물에서보고 있었기 때문에, 그들은 $posts->count()
을 사용하고 있었기 때문에이 방법은 저에게 효과적이지 않습니다. 모든 조언을 감사하십시오!yii2 페이지 매김이 작동하지 않습니다.
컨트롤러 액션 :
이public function actionIndex()
{
$searchModel = new PostSearch();
$postModel = new \app\models\Post();
$userModel = new \app\models\BlogUser();
$posts = $postModel::find()->orderBy(['post_id' => SORT_DESC])->all();
$pagination = new Pagination(['totalCount' => count($posts), 'pageSize' => 4]);
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'postModel' => $postModel,
'userModel' => $userModel,
'posts' => $posts,
'pagination' => $pagination
]);
}
보기의 index.php가 :
<div class="content">
<div class="row">
<?php Pjax::begin(['id' => 'posts']) ?>
<div class="col-md-12">
<?php
foreach ($posts as $post)
{
$id = $post->user_id;
$user = $userModel::find()->where(['id' => $id])->one();
echo "<div class='col-md-6 blog-post'>
<div class='col-md-3 post-prof-img'>"
. Html::img('../images/' . $user->image, ['alt' => 'image', 'class' => 'tall img-circle']) .
"<p class='text-center title-par'><strong><em> $user->username </em></strong></p>
<p class='text-center'> $post->date_create</p>
</div>
<div class='col-md-9 post-cont'><p>"
. Html::a('Click for more!',['view', 'id' => $post->post_id]) .
"</p><label class='text-center'> $post->title : </label>
<div class='fade-post'>
$post->content
</div>
</div>
</div>";
}
?>
</div>
<?php Pjax::end() ?>
</div>
</div>
<div class="row">
<div class="col-md-3">
<?= Html::a('Create Post', ['create'], ['class' => 'btn btn-primary']) ?>
<?= Html::submitButton('Search', ['class' => 'btn search-button', 'style' => 'color: blue']) ?>
</div>
</div>
좋아! 나는 네가 말한 것처럼 만들었지 만, 내가보기에 무엇을해야합니까? 나는 yii2에서 새롭고 프로그래밍이 전혀 안된다는 것을 유감스럽게 생각합니다. 내 의견을 수정할 수도 있습니다! 내가 한 것은'LinkPagination :: widget ([무엇을해야합니까?])입니다 : –
어떤 유형의보기 .. 당신이 필요합니다 .. gridview ?? .. 목록보기 .. ??? .. 보통 페이지 매김은 위젯 (gridview 또는 목록보기 위젯)에 의해 쉽게 관리됩니다. 대답 업데이트 ... – scaisEdge
각 페이지마다 4 개의 게시물로 레이아웃을 분할하고 싶지만 어쩌면 페이지 매김을 충분히 이해하지 못했습니다.) 내보기로 이미지를 추가하여 내가하려는 것을 확인합니다. 나는 6 개의 게시물을 가지고 있고 나는이 페이지에서 4 개가되고 나머지는 두 번째 페이지에있게하고 싶다. 어쩌면 그것은 나를 위해 조금 고급입니다 :) –