[xButtons] Сохраняем элементы в файл

Решение вытекло из моей доработки Console. В диалоге редактирования элементов появляется кнопка с пунктами меню «Сохранить в файл», «Загрузить из файла», «Сохранить на ПК» и «Загрузить с ПК». Разработчикам, возможно, пригодится.

Сохранять файлы можно и на сервер (<Сохранить в файл>) и на свой компьютер (<Сохранить на ПК>). Загружать также можно с сервера и своего ПК.
В диалоге сохранения на сервер имя файла подставляется автоматически.

Для сохранения файла пользователям нужны права «btn_save_file». У администраторов с sudo иммунитет.
Если сохранить пустой файл, то он удалится из папки хранения файлов на сервере.

Важное замечание! Проверено на редакторе Ace. На остальный редакторах не пробовал.

Выложил на Github.
Отправил пакет в магазин modstore.pro.
Сергей Шлоков
Сергей Шлоков
04 сентября 2015, 05:47
modx.pro
3 516
Поблагодарить автора Отправить деньги
Реклама

Комментарии: 25

Сергей
Сергей Старожил
04 сентября 2015, 10:03
Собирай пакет. Чем больше установят, больше обратной связи. Мне нужно )))
    Василий Наумкин
    Василий Наумкин Администратор
    04 сентября 2015, 10:13
    По моему, это дублирование статичности элементов, по сути.
      Сергей Шлоков
      Сергей Шлоков Старожил
      04 сентября 2015, 10:19
      Совсем нет. При разработке сниппета можно сохранять сколько угодно версий. Или, например, при обновлении компонента, в котором правились исходные чанки, сниппеты и плагины, можно сохранить их, а после обновления восстановить.
      Честно, не знаю, насколько это нужно. Я этим не пользуюсь. Просто функционал от консоли остался, вот и решил прикрутить.
        Сергей
        Сергей Старожил
        04 сентября 2015, 10:23
        Может я неправильно понял: «Загрузить из файла» не с ПК?
          Сергей Шлоков
          Сергей Шлоков Старожил
          04 сентября 2015, 10:28
          Все файлы сохраняются на сервере. Мне кажется это удобнее. Так сохраняется мобильность — разрабатывать можно где угодно — файлы всегда доступны.
            Сергей
            Сергей Старожил
            04 сентября 2015, 10:40
            Понятно. Я то подумал, что можно грузить уже написанные сниппеты и чанки с ПК.
              Сергей Шлоков
              Сергей Шлоков Старожил
              04 сентября 2015, 10:59
              Нет ничего сложного сделать так.
                Сергей Шлоков
                Сергей Шлоков Старожил
                05 сентября 2015, 19:23
                Теперь можно.
                  Сергей
                  Сергей Старожил
                  07 сентября 2015, 09:43
                  Благодарю, ждем пакета в магазине )
            Василий Наумкин
            Василий Наумкин Администратор
            04 сентября 2015, 10:27
            Ну, я при разработке чего-то больше чем на 30 строк, использую статические элементы и phpStorm, который хранит и версии, и всё остальное.

            Но если людям нравится работать в админке — почему нет?
              Сергей Шлоков
              Сергей Шлоков Старожил
              04 сентября 2015, 10:29
              Ну, я при разработке чего-то больше чем на 30 строк, использую статические элементы и phpStorm, который хранит и версии, и всё остальное.
              Я тоже.
          Илья Уткин
          Илья Уткин Администратор
          04 сентября 2015, 10:45
          Да, собери пакет — лишним не будет… Иногда может понадобится.
            Сергей Шлоков
            Сергей Шлоков Старожил
            04 сентября 2015, 11:01
            Вот я так и подумал, что для «иногда» можно и гитхаба взять.
              Илья Уткин
              Илья Уткин Администратор
              04 сентября 2015, 11:05
              Просто с гитхаба его надо скачать, распаковать, собрать пакет… А был бы уже пакет готовый — все проще.
                Сергей
                Сергей Старожил
                04 сентября 2015, 11:06
                опередил )
                  Сергей Шлоков
                  Сергей Шлоков Старожил
                  04 сентября 2015, 11:06
                  Согласен
                    Іван Клімчук
                    Іван Клімчук Администратор
                    04 сентября 2015, 14:36
                    надо запилить сервис для генерации пакетов с github. я даже пробовал начать. основная загвоздка, что нужен живой инстанс modx c бд. Вернее можно обойтись и без него, если в build-скрипте использовать «правильные» методы :)
                  Сергей
                  Сергей Старожил
                  04 сентября 2015, 11:06
                  Порог использования компонента уменьшается геометрически…
                Сергей Шлоков
                Сергей Шлоков Старожил
                05 сентября 2015, 19:24
                Добавил возможность сохранять код на свой компьютер и загружать файл с ПК. Теперь можно и на сервер сохранять и на локалку.
                  Сергей
                  Сергей Старожил
                  09 сентября 2015, 21:14
                  Кнопки только у плагинов появляются?
                    Сергей Шлоков
                    Сергей Шлоков Старожил
                    09 сентября 2015, 21:40
                    У плагинов, чанков, сниппетов и шаблонов.
                      Сергей
                      Сергей Старожил
                      09 сентября 2015, 21:44
                      Поставил, появилась только у плагинов
                        Сергей Шлоков
                        Сергей Шлоков Старожил
                        09 сентября 2015, 21:52
                        Точно, забыл привязать плагин xButtons к событиям OnChunkFormPrerender,OnSnipFormPrerender и OnTempFormPrerender. Это можно сделать самостоятельно.
                          Сергей
                          Сергей Старожил
                          09 сентября 2015, 21:53
                          Ок.
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  25