StaticElementsLive

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

Видео-обзор

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

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

Дима Сайт
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 станет стабильным релизом? Как ты для себя определяешь этот рубеж?
      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
                    ЭТО БОЖЕСТВЕННО!!!
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      22