5

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

我浏览了配置选项,唯一与字段编辑器相关的选项是:

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

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

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

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

有人知道仅针对某些字段向 phpMyAdmin 添加自定义编辑器的方法吗?

4

2 回答 2

1

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

sql.php我有libraries/display_tbl.lib.php一个想法display_tbl.lib.php是一个变量

line 1293: $grid_edit_class = 'grid_edit';

这是具有此类名称的 phpmyadmin 编辑器查找可编辑字段的类名称。grid_edit2现在 phpmyadmin 编辑器已禁用,您可以将其更改为与此工作类似的其他内容。

gis_data_editor.js是 phpmyadmin 编辑器,包含在sql.php

现在您可以包含您的编辑器文件sql.phpgrid_edit2为您的编辑器设置,但是您在保存编辑字段时遇到了另一个问题。

在我的搜索中,makegrid.js 您可以在第 29 行看到 post 脚本,您应该使您的编辑器与此脚本兼容,或者编写您自己的 post 脚本以将编辑后的数据发送到tbl_replace.php这是 post 数据标题的示例

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

希望这些信息对您有所帮助

于 2013-04-03T07:48:34.217 回答
1

目前不支持插件自定义编辑器。

但是,您可以很容易地为某些字段libraries/insert_edit.lib.php更改功能更改使用的编辑器PMA_getValueColumn,该功能负责获取用于字段编辑的 HTML 代码。

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

于 2013-04-03T14:31:32.863 回答