StaticElementsLive

Дополнение позволяет автоматически создавать элементы Modx на основании статических файлов созданных в определенных директориях, что позволяет ускорить разработку сайтов в IDE.

Видео-обзор

Prihod
07 марта 2022, 16:01
modx.pro
2
620
+15
Поблагодарить автора Отправить деньги

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

Дима Сайт
07 марта 2022, 16:21
0
Привет! Отличная штука!
Вопрос: на какое событие срабатывает сканирование директорий, предполагаю что на загрузку страницы админки. Тогда вопрос, если я отключу настройку автосканирования, это снимет всю «создаваемую нагрузку» на файловую систему?

И ещё: бывает надо переместить статичный файл (чанк например) из одной директории в другую, предполагаю что плагин создаст дубликат в этом случае? Или эта ситуация как-то обрабатывается?
    Prihod
    07 марта 2022, 16:39
    0
    1. Да
    2. Ничего не будет происходить так как если элемент с таким названием есть то он игнорируется, возможно в новую версию добавлю опцию которая позволит для статических элементов проверять наличие файлов в указанном пути и если его нет но есть файл с таким названием где то в другом месте то использовать его
      Дима Сайт
      07 марта 2022, 17:24
      0
      1. Класс
      2. Лучше уж пусть дубликат создаёт чем по названию сверяет. Было бы неприятно потерять код в случае нестыковок.

      Вот бы ещё решение для однократного сканирования.
      У меня вот разработка всегда на тестовой копии, и там я включу автосканирование. Сделал изменения, залил в гит.

      А вот уже потом на продакшене сделал pull и в админке нажал бы кнопочку (ну и привязал ресурсы к новым шаблонам, если надо)

      Если компонент не создает пункт меню с кнопочкой «просканировать», то может подскажешь быстрый способ создать её руками? Нет ли коннектора который можно пнуть чтобы он там провернул шестеренки под капотом ?)))

      P.S. возможно мне стоило бы использовать gitify и он такое умеет, но я не использую(
        Prihod
        08 марта 2022, 15:53
        0
        Кнопку для сканирования в новую версию добавлю. Сейчас из консоли modx можно просто выполнить код

        $staticelementslive = $modx->getService('staticelementslive', 'StaticElementsLive');
        $staticelementslive->runProcessor('web/element/scan');
        А вообще изначально задумка все это дело подружить с gulp в реальном времени создавать и перемещать элементы
    Prihod
    09 марта 2022, 21:14
    0
    UPD 1.0.1-beta
    — Добавлена в меню кнопка сканирования элементов
      Николай Савин
      09 марта 2022, 23:36
      0
      Интересно, а в какой момент beta станет стабильным релизом? Как ты для себя определяешь этот рубеж?
        Дима Сайт
        03 июля 2022, 23:40
        0
        @Prihod привет!

        Осваиваю плагин, нравится очень, но накопился небольшой багрепорт:
        • 2 набора системных настроек, и работает «не тот, что ожидалось» :)
        • добавляет описание к создаваемым элементам, но т.к. оно ничего не означает, лучше бы не добавлял

        Подробности на скриншоте:


        И на словах ещё дополню: я раньше пользовался StaticSaver. И под него я создавал отдельные источники файлов для каждого вида элементов т.к. плагин позволяет указать их отдельно. По идее это более MODX-way, чем прямые пути в сис. настройки писать, т.к. в источнике можно настроить ещё и ограничения по форматам файлов, поддерживаются разные виды хранилищ (хоть всё это и не нужно сейчас). Но это так, ворчание, как сейчас — ок работает (но я наткнулся на то что сис. настройка для источника не та подцепилась и насоздавал десятки чанков с привязкой к Загрузкам т.к. стандартный источник с id=1 во избежание помойки сразу направляю в /assets/uploads/ )
        Misha Bulic
        10 марта 2022, 10:05
        0
        А какая выгода от дополнения по сравнению с обычными файлами pdotools? Есть сравнение? И если я работаю только с IDE? Мне нужно каждый раз админку обновлять, чтобы чанк обновился?
          Лёша
          11 марта 2022, 00:39
          0
          Ну вот у нас на работе коллеги не пользуются IDE, редактируют код из админки. А так и мне и им удобно будет. Плюс многие сниппеты не работают с файловыми чанками.
          Спасибо автору, сам недавно начинал что-то подобное делать, получается доделывать не придётся)
            Артур
            11 марта 2022, 00:50
            0
            Плюс многие сниппеты не работают с файловыми чанками.
            А можно подробнее? Какие это многие?
              Лёша
              11 марта 2022, 01:16
              0
              Насчёт «многие» перегнул, наверное) Вообще из готовых сниппетов использую в основном Formit и pdoTools. Formit не поддерживает (возможно ошибаюсь). Чанки писем в minishop ещё.
                Артур
                11 марта 2022, 12:42
                0
                Если ты не используешь AjaxForm, то наверное FormIt не поддерживает файловые чанки. А в minishop2 как минимум можно сделать include из файла, думаю должен сработать.
            Prihod
            11 марта 2022, 10:37
            0
            Чанки не обновляются, они один раз создаются если их нет, а дальше ты как обычно с ними работаешь правя если нужно данные в файле из ide или из админки так как они тоже будут сохранены в файл. Единственное что после правки файла из ide нужно чистить кэш сайта или на момент разработки отключить кэширование, поэтому как я уже писал выше в планах все это подружить с gulp и тогда вся работа будет больше автоматизирована
              Лёша
              11 марта 2022, 10:54
              0
              Единственное что после правки файла из ide нужно чистить кэш сайта или на момент разработки отключить кэширование
              Если использовать ZoomX и Smarty, то не нужно)
                Misha Bulic
                11 марта 2022, 13:28
                0
                да, если кеш надо чистить каждый раз то смысле совсем никакого нет. Ждём обновления
              Prihod
              11 марта 2022, 10:52
              0
              Плюс многие сниппеты не работают с файловыми чанками.
              А можно подробнее
              вот тут я либо не так понял о чём речь или ты не понял что делает компонент. Когда ты создаёшь файл в определенной директории компонент создаёт для него, если его нет, определенный элемент modx, например чанк с указанием того что он статический, что значит что его данные не хранятся в БД, а хранятся в файле и дальше использование этого чанка в modx ничем не отличается от классического
                Лёша
                11 марта 2022, 11:00
                0
                вот тут я либо не так понял о чём речь или ты не понял что делает компонент.
                Это был ответ на вопрос
                А какая выгода от дополнения по сравнению с обычными файлами pdotools?
                Павел Бигель
                14 марта 2022, 12:53
                0
                Супер!
                Я как раз хотел сделать что-то похожее.
                  Лёша
                  16 марта 2022, 03:52
                  0
                  Можете ли сделать, чтоб путь к статическому файлу относительный был?
                  А то у меня вот так: /home/public_html/../core/elements/templates/product.tpl
                    Лёша
                    16 марта 2022, 04:08
                    0
                    У источника файлов:
                    basePath: ../core/, basePathRelative: да
                    Может из-за этого.
                      Лёша
                      16 марта 2022, 12:39
                      0
                      В методе prepareFileMediaSourcePath добавил:
                      $path = str_replace([$source->getBasePath(), MODX_CORE_PATH], '', $file);
                      Видимо некорректно работает, когда ядро вынесено за public_html.

                      Кстати, для чего подключается столько css и js файлов? Там же вроде просто кнопка добавляется.
                      Stepan
                      22 марта 2022, 17:32
                      0
                      так прям и пиши /твоя папка/снипеты/
                      Stepan
                      22 марта 2022, 17:16
                      0
                      ЭТО БОЖЕСТВЕННО!!!
                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                        23