xButtons - расширяет диалог редактирования
Данный пакет расширяет функционал диалогов элементов (чанков, сниппетов, плагинов, шаблонов). В диалоге редактирования элемента появляется кнопка с пунктами меню "Сохранить в файл", "Загрузить из файла", "Сохранить на ПК" и "Загрузить с ПК". Возможно пригодится разработчикам для хранения разных версий элемента.
Сохранять файлы можно и на сервер (<Сохранить в файл>) и на свой компьютер (<Сохранить на ПК>). Загружать также можно с сервера и своего ПК. В диалоге сохранения на сервер имя файла подставляется автоматически.
Для сохранения файла пользователям нужны права "btn_save_file". У администраторов с sudo иммунитет. Если сохранить пустой файл, то он удалится из папки хранения файлов на сервере.
Работа с параметрами
Так как компонент расширяет диалог редактирования элементов, то напрашивается еще и возможность сохранения параметров. Особенно это актуально для сниппетов. Для этого предназначены пункты меню - "Сохранить параметры" и "Загрузить параметры". Параметры можно сохранять вместе с элементом. Т.е. можно сделать полноценный backup элемента. Кроме того, сохраненные параметры одного сниппета можно загрузить в другой сниппет. А можно при создании нового сниппета самому написать файлик с необходимыми параметрами и загрузить их разом, чтоб не мучиться с диалогом. Правила описаны ниже.
Формат файла с параметрами
[["name","desc","type",[options],"value","lexicon",area,"desc_trans","area_trans"]]
Как видно, это формат JSON. Для простых параметров достаточно указать 1-е, 3-е и 5-е значения. Для параметра типа list нужно указать еще и четвертый пункт. Для седьмого параметра (area) нужно указать false.
// Пример простого параметра [["prop1","","textfield",[],"Значение параметра prop1","",false,"",""],[другой параметр]] // Пример для параметра типа list [["param1","","list",[{"text":"option1","value":"option1"},{"text":"option2","value":"option2"},{"text":"option3","value":"option3"}],"myValue","",false,"",""]]
Основные типы параметров:
- textarea;
- numberfield;
- combo-boolean;
- textfield;
- list.
За пару минут можно создать файлик с десятком параметров и загрузить их в элемент одним кликом.
Важное замечание! Проверено на редакторе Ace. На остальный редакторах не пробовал.