Welcome Guest, Not a member yet? Register   Sign In
pagination next and previous cannot active
#1
Sad 

Hi everyone

i am using ci4.2
i have problem with pagination
$pager->hasPrevious() == null -> it work, i just set first page, but previous cannot run,
i try to var_dump($pager->hasNext())-> result is false
i 3 pages when using pagination in controller and it run, but next and previous cannot run, show i use ==null with next and previous to get first and last page
i dont know how to solve
Controller
$result = $post->like('post_title', $key)->orLike('post_intro', $key)->paginate(10, 'post');
'pager'        => $post->pager,

Full Pagi
Code:
<?php

use CodeIgniter\Pager\PagerRenderer;

/**
* @var PagerRenderer $pager
*/
$pager->setSurroundCount(2);
?>



<div aria-label="<?= lang('Pager.pageNavigation') ?>">
<ul class="pagination pagination-transparent pagination-rounded">
<?php // var_dump($pager->hasNext()); ?>
<?php if ($pager->hasPrevious() == null) : ?>
<li class="page-item">
<a class="page-link border" href="<?= $pager->getFirst() ?>" aria-label="Previous" >
<span aria-hidden="true"><i class="fas fa-fast-backward"></i></span>
</a>
</li>
<!-- <li class="page-item disabled">
<a class="page-link" href="<?= $pager->getPrevious() ?>" aria-label="Previous">
<span aria-hidden="true"><i class="fas fa-chevron-left"></i> Previous</span>
</a>
</li> -->
<?php endif ?>

<?php foreach ($pager->links() as $link) : ?>
<li <?= $link['active'] ? 'class="page-item active"' : 'class="page-item fw-bold"' ?>>
<a class="page-link" href="<?= $link['uri'] ?>" >
<?= $link['title'] ?>
</a>
</li>
<?php endforeach ?>

<?php if ($pager->hasNext() == null) : ?>
<!-- <li class="page-item disabled">
<a href="<?= $pager->getNext() ?>" aria-label="Next" class="page-link border">
<span aria-hidden="true">Next <i class="fas fa-chevron-right"></i></span>
</a>
</li> -->
<li class="page-item">
<a href="<?= $pager->getLast() ?>" aria-label="Next" class="page-link border">
<span aria-hidden="true"><i class="fas fa-fast-forward"></i></span>
</a>
</li>
<?php endif ?>
</ul>
</div>

View

<?= $pager->links("post") ?>


Thank bro

Reply
#2

Here are my Bootstrap v5.3.1 Pager Templates.
These should be placed in Views/Pager folder.

bs_full.php
PHP Code:
<?php

/**
 * bs_full.php - - Bootstrap 5.3.1 Pager Template.
 * @var \CodeIgniter\Pager\PagerRenderer $pager
 */
$pager->setSurroundCount(2);
?>

<nav aria-label="<?= lang('Pager.pageNavigation'?>">
 <ul class="pager pagination justify-content-center">
 <?php if ($pager->hasPreviousPage()) : ?>
 <li class="page-item">
 <a class="page-link" href="<?= $pager->getFirst() ?>" aria-label="<?= lang('Pager.first'?>">
 <span aria-hidden="true"><?= lang('Pager.first'?></span>
 </a>
 </li>
 <li class="page-item">
 <a class="page-link" href="<?= $pager->getPreviousPage() ?>" aria-label="<?= lang('Pager.previous'?>">
 <span aria-hidden="true"><?= lang('Pager.previous'?></span>
 </a>
 </li>
 <?php endif ?>

 <?php foreach ($pager->links() as $link) : ?>
 <li <?= $link['active']  'class="page-item active"' '' ?>>
 <a class="page-link" href="<?= $link['uri'?>">
 <?= $link['title'?>
 </a>
 </li>
 <?php endforeach ?>

 <?php if ($pager->hasNextPage()) : ?>
 <li class="page-item">
 <a class="page-link" href="<?= $pager->getNextPage() ?>" aria-label="<?= lang('Pager.next'?>">
 <span aria-hidden="true"><?= lang('Pager.next'?></span>
 </a>
 </li>
 <li class="page-item">
 <a class="page-link" href="<?= $pager->getLast() ?>" aria-label="<?= lang('Pager.last'?>">
 <span aria-hidden="true"><?= lang('Pager.last'?></span>
 </a>
 </li>
 <?php endif ?>
 </ul>
</nav> 

bs_simple.php
PHP Code:
<?php
/**
 * bs_simple - Bootstrap 5.3.1 Pager Template.
 * @var \CodeIgniter\Pager\PagerRenderer $pager
 */
$pager->setSurroundCount(0);
?>
<nav aria-label="Page Results">
 <ul class="pager pagination justify-content-center">
 <li <?= $pager->hasPrevious() ? 'class="page-item active"' 'class="page-item disabled"' ?>>
 <a class="page-link" href="<?= $pager->getPrevious() ?? '#' ?>" aria-label="<?= lang('Pager.previous'?>">
 <span aria-hidden="true"><?= lang('Pager.newer'?></span>
 </a>
 </li>
 <li <?= $pager->hasNext() ? 'class="page-item active"' 'class="page-item disabled"' ?>>
 <a class="page-link" href="<?= $pager->getnext() ?? '#' ?>" aria-label="<?= lang('Pager.next'?>">
 <span aria-hidden="true"><?= lang('Pager.older'?></span>
 </a>
 </li>
 </ul>
</nav> 
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply




Theme © iAndrew 2016 - Forum software by © MyBB