Skip to content

Commit e1f5d26

Browse files
committed
Fix and optimize widget
1 parent 394b660 commit e1f5d26

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

src/widgets/Pagination.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,9 @@ public function run()
215215
$linkAttributes .= "{$key}=\"{$value}\" ";
216216
}
217217

218+
$isFirst = ($page<=1) ? true : false;
219+
$isLast = ($this->pagination->pageCount<=$page) ? true : false;
220+
218221
include __DIR__ . '/views/bootstrap.php';
219222

220223
return;

src/widgets/views/bootstrap.php

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,41 @@
11
<nav aria-label="Page navigation example">
22
<ul class="pagination <?php if($this->alignCenter):?>justify-content-center<?php endif?>">
3-
<?php if($this->firstPageLabel!==null):?><li class="<?=$this->pageCssClass?> <?=$this->firstPageCssClass?> <?php if($page<=1):?>disabled<?php endif ?>"><a <?=$linkAttributes?> href="<?=$this->pagination->createUrl(1);?>"><?=$this->firstPageLabel?></a></li><?php endif ?>
4-
<li class="<?=$this->pageCssClass?> <?=$this->prevPageCssClass?> <?php if($page<=1):?>disabled<?php endif ?>"><a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($page-1);?>"><?=$this->prevPageLabel?></a></li>
3+
<?php if($this->firstPageLabel):?>
4+
<li class="<?=$this->pageCssClass?> <?=$this->firstPageCssClass?> <?php if($isFirst):?>disabled<?php endif ?>">
5+
<?php if($isFirst):?>
6+
<span><?=$this->firstPageLabel?></span>
7+
<?php else: ?>
8+
<a <?=$linkAttributes?> href="<?=$this->pagination->createUrl(1);?>"><?=$this->firstPageLabel?></a>
9+
<?php endif ?>
10+
</li>
11+
<?php endif ?>
12+
<li class="<?=$this->pageCssClass?> <?=$this->prevPageCssClass?> <?php if($isFirst):?>disabled<?php endif ?>">
13+
<?php if($isFirst):?>
14+
<span><?=$this->prevPageLabel?></span>
15+
<?php else: ?>
16+
<a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($page-1);?>"><?=$this->prevPageLabel?></a>
17+
<?php endif ?>
18+
</li>
519
<?php foreach ($this->_buttonStack as $key => $btnPage): ?>
6-
<li class="<?=$this->pageCssClass?> <?php if(($page)==$btnPage):?>active<?php endif ?>"><a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($btnPage);?>"><?=$btnPage?></a></li>
20+
<li class="<?=$this->pageCssClass?> <?php if(($page)==$btnPage):?>active<?php endif ?>">
21+
<a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($btnPage);?>"><?=$btnPage?></a>
22+
</li>
723
<?php endforeach ?>
8-
<li class="<?=$this->pageCssClass?> <?=$this->nextPageCssClass?> <?php if($this->pagination->pageCount<=$page):?>disabled<?php endif ?>"><a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($page+1);?>"><?=$this->nextPageLabel?></a></li>
9-
<?php if($this->lastPageCssClass!==null):?><li class="<?=$this->pageCssClass?> <?=$this->lastPageCssClass?> <?php if($this->pagination->pageCount<=$page):?>disabled<?php endif ?>"><a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($this->pagination->pageCount);?>"><?=$this->lastPageLabel?></a></li><?php endif ?>
24+
<li class="<?=$this->pageCssClass?> <?=$this->nextPageCssClass?> <?php if($isLast):?>disabled<?php endif ?>">
25+
<?php if($isLast):?>
26+
<span><?=$this->nextPageLabel?></span>
27+
<?php else: ?>
28+
<a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($page+1);?>"><?=$this->nextPageLabel?></a>
29+
<?php endif ?>
30+
</li>
31+
<?php if($this->lastPageLabel):?>
32+
<li class="<?=$this->pageCssClass?> <?=$this->lastPageCssClass?> <?php if($isLast):?>disabled<?php endif ?>">
33+
<?php if($isLast):?>
34+
<span><?=$this->lastPageLabel?></span>
35+
<?php else: ?>
36+
<a <?=$linkAttributes?> href="<?=$this->pagination->createUrl($this->pagination->pageCount);?>"><?=$this->lastPageLabel?></a>
37+
<?php endif ?>
38+
</li>
39+
<?php endif ?>
1040
</ul>
1141
</nav>

0 commit comments

Comments
 (0)