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

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

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

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

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

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

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

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

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