Как добавить пользовательский редактор в phpMyAdmin только для определенных полей?
Я хотел бы интегрировать JSON Editor Online
с phpMyAdmin
чтобы редактировать определенные поля таблицы, которые содержат массивы PHP, закодированные в формате JSON.
Я просмотрел параметры конфигурации , и единственными, связанными с редакторами полей, были:
CharEditing: Which editor should be used for CHAR/VARCHAR fields
Я прочитал это ПОЭТОМУ вопрос , который указывает на tbl_change.php
, но не вижу простого способа его настройки.
Я хотел бы, чтобы мы могли сделать что-то вроде этого:
- определите, какие поля нуждаются в пользовательский редактор (например, на основе таких критериев, как тип данных, имя поля...)
- свяжите эти поля с именем пользовательского редактора
- создайте пользовательский редактор нормализованным способом (используя JS, мы могли бы описать, как значение поля загружается в редактор и какое событие/значение использовать для сохранения отредактированного значения обратно в
DB
.
Кто-нибудь знает о способе добавления пользовательского редактора в phpMyAdmin только для определенных полей?
2 answers
В настоящее время нет поддержки плагинов для настройки редактора.
Однако вы можете довольно легко изменить используемый редактор для некоторых полей в libraries/insert_edit.lib.php
- изменить функцию PMA_getValueColumn
, которая отвечает за получение HTML-кода для редактирования полей.
PS: вышесказанное касается предстоящего phpMyAdmin 4.0, я не уверен в более старых версиях.
Я ищу в файлах 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.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
Надеюсь, эта информация поможет вам