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
2.2、在108行左右找到代码 protected function getLinks($listsize = 3) 替换成 protected function getLinks($listsize = 3, $listitemArr = [])
            
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));
    
完结。

以上就是速优网络和大家分享的"pagelist列表分页标签实现数字分页前后的省略号",非常感谢您有耐心的读完这篇文章,我们将为您提供更多参考使用或学习交流的信息。我们还可为您提供:企业网站建设、网站仿制、网站复制、仿站、外贸网站建设、外贸建站、公司官网制作等服务,本公司以“诚信、专业、务实、创新”的服务理念服务于客户。如您需要合作,请扫码咨询,我们将诚挚为您服务。
TAG标签: