如何仅为某些字段添加自定义编辑器到phpMyAdmin?

时间:2013-04-03 06:30:22

标签: php serialization phpmyadmin editor customization

我想将JSON Editor OnlinephpMyAdmin集成,以便编辑包含以JSON格式编码的PHP数组的某些表字段。

我浏览了Configuration options,与现场编辑相关的唯一内容是:

CharEditing: Which editor should be used for CHAR/VARCHAR fields

我读到这个SO question指向tbl_change.php,但看不到任何简单的自定义方法。

我希望我们能做到这样的事情:

  • 定义哪些字段需要自定义编辑器(例如,基于数据类型,字段名称等标准......)
  • 将这些字段与自定义编辑器的名称相关联
  • 以规范化方式创建自定义编辑器(使用JS我们可以描述如何将字段值加载到编辑器中以及用于将编辑后的值保存回DB的事件/值。

是否有人知道如何为某些字段添加自定义编辑器到phpMyAdmin?

2 个答案:

答案 0 :(得分:1)

我在phpmyadmin文件上搜索我发现了两个我认为与此相关的文件

sql.phplibraries/display_tbl.lib.php我在display_tbl.lib.php中有一个想法是一个变量

line 1293: $grid_edit_class = 'grid_edit';

这是具有此类名称的phpmyadmin编辑器可以编辑的类的名称。  你现在可以通过这项工作将其更改为grid_edit2之类的其他内容。现在phpmyadmin编辑器已禁用。

gis_data_editor.js是包含在sql.php

中的phpmyadmin编辑器

现在,您可以在sql.php中添加编辑器文件,并为编辑器设置grid_edit2,但在保存已编辑的字段时还有另一个问题。

在我的搜索中它被makegrid.js关闭你可以看到第29行的帖子脚本你应该将你的编辑器与这个脚本兼容,或者编写你自己的帖子脚本以便将编辑后的数据发送到tbl_replace.php这是一个发布数据标题样本

ajax_request:true
sql_query:
token:0203ddaa0c51d4776e93921e6ca1281f
db:sepidarsoft_portal
table:archive_media
clause_is_unique:1
where_clause[]:`archive_media`.`_id` = 45
fields[multi_edit][0][]:1364198434
fields_name[multi_edit][0][]:UTime
fields_null[multi_edit][0][]:
rel_fields_list:
do_transformations:false
transform_fields_list:
relational_display:K
goto:sql.php
submit_type:save
_nocache:1364974511419938233

希望此信息可以帮助您

答案 1 :(得分:1)

现在不支持自定义编辑器的插件。

但是,您可以非常轻松地更改libraries/insert_edit.lib.php中某些字段的已使用编辑器 - 更改函数PMA_getValueColumn,该函数负责获取字段编辑的HTML代码。

PS:以上是关于即将推出的phpMyAdmin 4.0,我不确定旧版本。