$this->getLinks($listsize))

易优教程 强烈建议 2024-03-15 07:34 109 0

  先上分页示例图

  实现教程如下:

  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 = [])

  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));

  完结。

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!