eyoucms列表pagelist标签实现数字分页前后的省略号

2025-07-21 0 17

先上分页示例图

eyoucms列表pagelist标签实现数字分页前后的省略号

实现教程如下:

1、编辑列表模板,把分页标签pagelist加上一个标识pageno,dots,参考代码

{eyou:pagelist listitem=’pre,next,info,index,end,pageno,dots’ listsize=’1′ /}

2、由于每个模板分页样式不同,涉及的分页php文件官方不会在线更新覆盖,请根据步骤找到分页php文件补充相关代码。

2.1、用编辑器打开文件 core/library/paginator/driver/Eyou.php  (注:Eyou.php为pc分页文件,手机端的为:Mobile.php)

2.2、在108行左右找到代码

protected function getLinks($listsize = 3)

替换成

protected function getLinks($listsize = 3, $listitemArr = [])

eyoucms列表pagelist标签实现数字分页前后的省略号

2.3、把109行大括号 { 开始,到对应大括号 } 结束的代码进行替换

                /**

*  页码按钮

* @param string $listsize  当前页对称两边的条数

* @return string

*/

protected function getLinks($listsize  = 3, $listitemArr = [])

{

这里全部代码都要被替换为2.4步骤的代码

}

替换成以下代码:

              /**

*  页码按钮

* @param string $listsize  当前页对称两边的条数

* @return string

*/

protected function getLinks($listsize = 3, $listitemArr = [])
{
if ($this->simple)
return ”;

$block = [
‘first’  => null,
‘slider’ => null,
‘last’   => null
];

$side   = $listsize;
$window = $side * 2;

if ($this->lastPage < $window + 2) {
$block[‘first’] = $this->getUrlRange(1, $this->lastPage);
} elseif ($this->currentPage < ($side + 1)) {
$block[‘first’] = $this->getUrlRange(1, $window + 1);
} elseif ($this->currentPage > ($this->lastPage – $side)) {
$block[‘last’]  = $this->getUrlRange($this->lastPage – $window, $this->lastPage);
} else {
$block[‘slider’] = $this->getUrlRange($this->currentPage – $side, $this->currentPage + $side);
}

$html = ”;

if (is_array($block[‘first’])) {
$html .= $this->getUrlLinks($block[‘first’]);
if (in_array(‘dots’, $listitemArr)) {
if ($window + 1 < $this->lastPage) {
if ($window + 1 < $this->lastPage – 1) {
$html .= $this->getDots();
}
$html .= $this->getPageLinkWrapper2($this->url($this->lastPage), $this->lastPage);
}
}
}

if (is_array($block[‘slider’])) {
if (in_array(‘dots’, $listitemArr)) {
if ($this->currentPage – $side > 1) {
$html .= $this->getPageLinkWrapper2($this->url(1), 1);
if ($this->currentPage – $side > 2) {
$html .= $this->getDots();
}
}
}

$html .= $this->getUrlLinks($block[‘slider’]);

if (in_array(‘dots’, $listitemArr)) {
if ($this->currentPage + $side < $this->lastPage) {
if ($this->currentPage + $side < $this->lastPage – 1) {
$html .= $this->getDots();
}
$html .= $this->getPageLinkWrapper2($this->url($this->lastPage), $this->lastPage);
}
}
}

if (is_array($block[‘last’])) {
if (in_array(‘dots’, $listitemArr)) {
if ($this->lastPage – $window < $this->lastPage) {
$html .= $this->getPageLinkWrapper2($this->url(1), 1);
if ($this->lastPage – $window > 2) {
$html .= $this->getDots();
}
}
}
$html .= $this->getUrlLinks($block[‘last’]);
}

return $html;
}

2.4、看下图找到这个代码

array_push($pageArr, $this->getLinks($listsize));

替换成

array_push($pageArr, $this->getLinks($listsize, $listitemArr));

eyoucms列表pagelist标签实现数字分页前后的省略号

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

版权声明:所有的源码、软件和资料,不得使用于非法商业用途,不得违反国家法律,一切关于该资源商业行为与本站无关。

免费cms模板 eyoucms教程 eyoucms列表pagelist标签实现数字分页前后的省略号 https://www.mianfeicms.com/358.html

相关文章

发表评论
暂无评论