易优CMS列表页分页样式修改与使用完整教程

搭建网站时,很多站长都会遇到列表页分页样式自定义难题。易优CMS默认仅提供统一的分页标签 {eyou:pagelist listitem='index,pre,pageno,next,end' listsize='2' /},无法直接自定义 HTML 结构、Class 高亮样式,想要套用第三方分页风格、自定义页面分页排版,需要通过修改底层分页PHP文件实现。
本文手把手讲解易优CMS分页结构改造、自定义样式、当前页高亮全套修改方法,适配所有模板,新手可直接照搬操作。

一、修改原理说明

易优CMS默认分页自带 <li> 列表嵌套结构、默认高亮 Class 为 active。如果你的模板分页样式是纯a标签结构、自定义高亮类名(如hover),直接套用标签会出现样式错乱、布局变形、高亮失效问题。
核心修改逻辑:根据模板现有分页HTML结构,对应修改底层分页生成代码,匹配标签结构与高亮样式
分页核心配置文件路径(PC端):
core/library/think/paginator/driver/Eyou.php

二、案例一:无li纯a标签分页样式改造(通用简约分页)

1、目标前端样式结构

本次适配无列表嵌套、纯a标签分页样式,结构如下:
<div class="ListsPages"> <a>首页</a> <a>上一页</a> <a class="active">1</a> <a href="链接">2</a> <a href="链接">3</a> <a>下一页</a> <a>末页</a> </div>
结构特点:无 <li> 标签,仅 a 标签排版,当前页通过 active 类高亮。

2、模板标签调用写法

在列表页模板(lists_article.htm、lists_product.htm等)对应位置写入分页标签:
<div class="ListsPages"> {eyou:pagelist listitem='index,pre,pageno,next,end' listsize='2' /} </div>

3、底层PHP文件代码修改

打开 Eyou.php,找到默认分页生成代码,删除原有 <li> 嵌套结构,修改为纯a标签格式。
原默认代码
protected function getAvailablePageWrapper2($url, $page) { return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>'; } protected function getAvailablePageWrapper($url, $page) { return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>'; } protected function getDisabledTextWrapper($text) { return '<li><a>' . $text . '</a></li>'; } protected function getActivePageWrapper($text) { return '<li class="active"><a>' . $text . '</a></li>'; }
修改后代码(适配纯a标签)
protected function getAvailablePageWrapper2($url, $page) { return '<a href="' . htmlentities($url) . '">' . $page . '</a>'; } protected function getAvailablePageWrapper($url, $page) { return '<a href="' . htmlentities($url) . '">' . $page . '</a>'; } protected function getDisabledTextWrapper($text) { return '<a>' . $text . '</a>'; } protected function getActivePageWrapper($text) { return '<a class="active">' . $text . '</a>'; }

4、新版本额外适配(必看)

部分新版易优CMS会多一组 getActivePageWrapper2 激活按钮方法,务必同步修改,否则数字分页高亮失效:
原代码
protected function getActivePageWrapper2($text) { return '<li class="active"><a>' . $text . '</a></li>'; }
修改后代码
protected function getActivePageWrapper2($text) { return '<a class="active">' . $text . '</a>'; }
保存文件后,纯a标签分页样式即可完全适配,当前页自动高亮。

三、案例二:保留li结构,自定义高亮class样式(官方演示站风格)

以易优官方演示站分页样式为案例,适配带li列表结构、自定义hover高亮类名的分页布局。

1、目标前端样式结构

<div class="pglist"> <li><a>首页</a></li> <li><a>上一页</a></li> <li><a class="hover">1</a></li> <li><a href="链接">2</a></li> <li><a>下一页</a></li> <li><a>末页</a></li> </div>
结构特点:保留li列表嵌套,当前页高亮类名为 hover(非默认active)。

2、模板标签调用写法

<div class="pglist"> {eyou:pagelist listitem='index,pre,pageno,next,end' listsize='2' /} </div>

3、底层PHP高亮样式修改

无需修改li结构,仅替换高亮类名,将默认 active 改为模板对应的 hover
1)修改 getActivePageWrapper2 方法:
原代码:return '<li class="active"><a>' . $text . '</a></li>';
修改为:return '<li><a class="hover">' . $text . '</a></li>';
2)修改 getActivePageWrapper 方法:
原代码:return '<li class="active"><a>' . $text . '</a></li>';
修改为:return '<li><a class="hover">' . $text . '</a></li>';
保存文件后,刷新页面即可实现和演示站一致的分页高亮效果。


h6.png



四、全局修改核心总结

  1. 先定结构,再改代码:优先查看模板分页是 li+a 结构还是纯a 结构,再对应增删标签;
  2. 高亮类名精准匹配:模板用 active 就保留 active,用 hover 就替换为 hover,类名不一致会导致高亮失效;
  3. 新版双方法修改:新版程序存在 getActivePageWrappergetActivePageWrapper2 两个激活方法,必须全部同步修改;
  4. 修改后清理缓存:文件保存后,后台清理全站缓存,避免样式不生效。

五、温馨提示

修改底层PHP文件前,建议先备份原Eyou.php文件,后续系统升级会覆盖底层文件,升级后需要重新套用分页修改代码,避免样式失效。
分享: