如何恢复phpMyAdmin导航栏中的表组点击链接功能?
恢复phpMyAdmin v5.2.1+的表分组点击过滤功能
在phpMyAdmin v5.2.1之前,带双下划线前缀的表会自动被分组,点击组名就能直接过滤显示该组内的所有表——这个功能在管理超过100张表的数据库时特别实用。v5.2.1之后,表自动分组的逻辑还在,但组名变成了不可点击的纯文本,不过底层的过滤逻辑并未移除,手动构造URL仍能实现过滤:
/index.php?route=/database/structure&server=1&tbl_type=table&db=<db_name>&tbl_group=<tbl_group>
以下是恢复点击功能的具体代码修改方法:
步骤1:定位模板文件
找到phpMyAdmin安装目录下的 templates/database/structure/table_group.twig 文件(这是负责渲染表组标题的核心模板文件)。
步骤2:修改组名渲染逻辑
打开文件后,找到渲染组名的代码段,原代码大致如下:
<span class="table-group">{{ group_name }}</span>
将其替换为带跳转链接的代码,利用phpMyAdmin内置的路由生成方法拼接正确的过滤URL:
<a href="{{ url('/database/structure', { server: server, tbl_type: 'table', db: db, tbl_group: group_name }) }}" class="table-group">{{ group_name }}</a>
步骤3:验证效果
保存修改后,刷新phpMyAdmin的数据库结构页面,此时表组名称会变成可点击的链接,点击后就能直接过滤显示该组内的所有表。
如果你的phpMyAdmin版本使用的是老旧的PHP渲染而非Twig模板,可以找到 libraries/classes/Database/Structure.php 文件中负责输出表组的代码,将组名的纯文本输出改为带<a>标签的HTML,参数使用对应变量填充即可。
内容的提问来源于stack exchange,提问作者Andy Borgmann
相关产品推荐
相关产品推荐

