帝国CMS列表属性筛选优化插件,支持伪静态与多模型复用

帝国CMS列表属性筛选优化插件,支持伪静态与多模型复用

免费 限时优惠
一对一客服指导服务 不限制站点使用 永久使用更新无忧 持续迭代开发
首次可提供免费整站安装服务(需要提供服务器等信息)

插件介绍

为什么要做这个插件?
帝国cms官方其实提供了“帝国CMS-结合项列表属性筛选显示”插件。但是我使用下来感觉有些地方需要优化。

1、$fieldandval结合项数据是硬编码在程序中没有自动从模型结合项字段获取,维护非常麻烦。
2、会生成冗余的url地址影响SEO效果,如:age=1__10&myarea=东城区和myarea=东城区&age=1__10两个url 地址对应的数据是一样的。
3、只支持动态没有伪静态。
4、反复切换后一个字段会在url 地址中重复出现。
5、选择“不限”后url地址中实际还是会出现fieldName=

本插件基于帝国 CMS 原生结合项筛选函数深度重构优化,提供全自动动态内容筛选组件,无需手动硬编码筛选字段与选项,适配全站多内容模型,开箱即用。仅需在内容列表模板调用标签函数,系统自动读取模型后台配置、自定义字段名称、数据表真实数据生成筛选导航,完美解决原生筛选函数维护繁琐、多筛联动逻辑失效、多模型无法复用等痛点,兼顾开发效率与前端交互体验。

安装步骤

1、上传e/extend/filterDisplay

2、打开 /e/class/userfun.php 在文件顶部(放在<?php下一行添加)

require_once __DIR__ . '/../extend/filterDisplay/index.php';

3、修改模板,在要结合项属性筛选的地方加上如下代码:

4、CSS文件里定义相应的样式

5、更新相应页面

6、Apache伪静态配置示例

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^afb2/classid(\d+)(?:_mbfl(\d+))?(?:_zb(\d+))?(?:_jg(\d+))?(?:_page-(\d+))?\.html$ \
/e/action/ListInfo.php?classid=$1&mbfl=$2&zb=$3&jg=$4&page=$5&ph=1 [L,QSA]

7、url地址示例
.../afb2/classid1_mbfl1.html
.../afb2/classid1_mbfl1_zb1_jg1.html

8、CSS样式示例

.filter-row { padding: 14px 0; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.filter-row:last-child { border-bottom: none; }
.field-label { font-size: 14px; font-weight: 500; color: #6b7280; min-width: 80px; }
.field-item, .field-item-active { display: inline-flex; align-items: center; padding: 6px 14px; font-size: 14px; text-decoration: none; border-radius: 4px; transition: background-color 0.15s ease, color 0.15s ease; cursor: pointer; line-height: 1.4; }
.field-item { color: #374151; background-color: transparent; }
.field-item:hover { background-color: #f3f4f6; color: #111827; }
.field-item-active { color: #2563eb; background-color: #eff6ff; font-weight: 500; }
.field-item-active:hover { background-color: #dbeafe; }

详细介绍

全自动动态渲染,零代码后台配置

  1. 自动识别当前页面内容模型,读取模型后台设置的「列表结合项字段」,无需手动填写筛选字段;
  2. 自动查询自定义字段表,同步后台设置的字段中文名称作为筛选标题,后台修改字段名前端实时更新;
  3. 自动读取内容数据表去重非空字段值生成筛选选项,内置「不限」按钮,数据库新增内容值筛选栏自动同步;
  4. 自动过滤无任何数据的筛选字段,页面不会出现空白无用筛选模块,页面布局更整洁。

修复原生核心缺陷,优化多筛选联动交互

  1. 独立字段参数分离逻辑:点击单个筛选项 / 不限时,仅清除当前字段筛选条件,其他已选筛选条件保留,符合用户常规筛选操作习惯;
  2. 摒弃原生注释占位替换 URL 的笨拙写法,参数直接拼接,代码逻辑清晰,无解析异常隐患;
  3. 完整透传页面全部原有 GET 参数(栏目 ID、分页、排序、时间筛选、专题、头条、推荐等),切换筛选不丢失页面原有状态。

全站通用,多模型自适应复用

  1. 自动兼容任意资讯、产品、下载等内容模型,一套函数适配全站所有列表页;
  2. 智能获取模型 ID:支持 URL 直接传 mid,无模型参数时自动通过当前栏目 ID 匹配对应模型;
  3. 无需复制多份函数区分不同模型,模板统一调用即可,降低模板冗余。

高度自定义样式,兼容原有使用习惯

  1. 保留完整自定义配置能力:可自定义筛选项普通 / 激活高亮 CSS 类名、字段外层 HTML 包裹结构、选项之间分隔符;
  2. 兼容帝国 CMS 高低版本,自动判断ehtmlspecialchars函数做 XSS 转义,保障页面安全;
  3. 渲染输出结构与原生函数一致,原有页面样式无需大幅修改即可无缝切换。

低维护、易拓展

  1. 后台调整结合项字段、修改字段名称、新增内容数据,前端筛选自动生效,无需修改 PHP 代码;
  2. 省去手动维护筛选选项数组工作,大幅减少二次开发与后期维护工作量;
  3. 数据库查询做优化,缓存字段中文名称,避免循环重复查表,降低数据库压力。

伪静态链接支持

  1. 支持伪静态 URL 模式,链接格式可以自定义,SEO 友好;
  2. 筛选参数严格按照模型「列表结合项字段」固定顺序拼接,确保 URL 规范统一,避免参数顺序混乱;
  3. 分页参数可选,无分页时 URL 自动省略页码部分;
  4. 配合 Apache/Nginx 伪静态规则即可启用,动态模式与伪静态模式一键切换。

帝国CMS插件

未找到合适的帝国 CMS 成品插件?

如有定制需求,或是想优化现有插件功能,欢迎随时联系沟通。

微信二维码 微信
QQ二维码 QQ

15年开发经验

自己做过站长,深知站长痛点

独立开发

自己编码、测试、维护,不是二道贩子

持续迭代

根据用户真实反馈持续优化

代码透明

核心逻辑清晰,不加密、不混淆

售后保障

提供安装指导和技术支持,随时响应

联系方式

微信 / QQ 即时沟通