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

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

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

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

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

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

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

Sergey
04 сентября 2015, 10:03
0
Собирай пакет. Чем больше установят, больше обратной связи. Мне нужно )))
    Василий Наумкин
    04 сентября 2015, 10:13
    0
    По моему, это дублирование статичности элементов, по сути.
      Сергей Шлоков
      04 сентября 2015, 10:19
      0
      Совсем нет. При разработке сниппета можно сохранять сколько угодно версий. Или, например, при обновлении компонента, в котором правились исходные чанки, сниппеты и плагины, можно сохранить их, а после обновления восстановить.
      Честно, не знаю, насколько это нужно. Я этим не пользуюсь. Просто функционал от консоли остался, вот и решил прикрутить.
        Sergey
        04 сентября 2015, 10:23
        0
        Может я неправильно понял: «Загрузить из файла» не с ПК?
          Сергей Шлоков
          04 сентября 2015, 10:28
          0
          Все файлы сохраняются на сервере. Мне кажется это удобнее. Так сохраняется мобильность — разрабатывать можно где угодно — файлы всегда доступны.
            Sergey
            04 сентября 2015, 10:40
            0
            Понятно. Я то подумал, что можно грузить уже написанные сниппеты и чанки с ПК.
              Сергей Шлоков
              04 сентября 2015, 10:59
              0
              Нет ничего сложного сделать так.
                Сергей Шлоков
                05 сентября 2015, 19:23
                0
                Теперь можно.
                  Sergey
                  07 сентября 2015, 09:43
                  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
              Просто с гитхаба его надо скачать, распаковать, собрать пакет… А был бы уже пакет готовый — все проще.
                Sergey
                04 сентября 2015, 11:06
                0
                опередил )
                  Сергей Шлоков
                  04 сентября 2015, 11:06
                  0
                  Согласен
                    Иван Климчук
                    04 сентября 2015, 14:36
                    0
                    надо запилить сервис для генерации пакетов с github. я даже пробовал начать. основная загвоздка, что нужен живой инстанс modx c бд. Вернее можно обойтись и без него, если в build-скрипте использовать «правильные» методы :)
                  Sergey
                  04 сентября 2015, 11:06
                  0
                  Порог использования компонента уменьшается геометрически…
                Сергей Шлоков
                05 сентября 2015, 19:24
                0
                Добавил возможность сохранять код на свой компьютер и загружать файл с ПК. Теперь можно и на сервер сохранять и на локалку.
                  Sergey
                  09 сентября 2015, 21:14
                  0
                  Кнопки только у плагинов появляются?
                    Сергей Шлоков
                    09 сентября 2015, 21:40
                    0
                    У плагинов, чанков, сниппетов и шаблонов.
                      Sergey
                      09 сентября 2015, 21:44
                      0
                      Поставил, появилась только у плагинов
                        Сергей Шлоков
                        09 сентября 2015, 21:52
                        0
                        Точно, забыл привязать плагин xButtons к событиям OnChunkFormPrerender,OnSnipFormPrerender и OnTempFormPrerender. Это можно сделать самостоятельно.
                          Sergey
                          09 сентября 2015, 21:53
                          0
                          Ок.
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  25