2 часа назад
Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 1
Вчера в 14:30
Добавил localizator3_default_language
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeVue 4
06 июля 2026, 23:49
Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3
Минимальные требования:
PHP 8.4 MODX 3.2 MiniShop3
msInShopNotify 6
03 июля 2026, 13:55
Обновление
1.2.0-pl (03.07.2026)
— добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`;
— добавлены уведомлени...
MaxNotify 2
03 июля 2026, 13:42
Да, планируется. Даже чуть больше, чем просто бонусная система)
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurrency 7
30 июня 2026, 13:13
Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
FileMan - прикрепление файлов к ресурсам для MODX 3 74
29 июня 2026, 21:27
Большое спасибо за подсказку, но проблема решилась переустановкой.
Зависает корзина минишоп2 2
27 июня 2026, 10:51
Применительно к данному компоненту не знаю, что можно сделать специфического для ИИ. Хотя в целом идея интересная, можно в пакет добавлять скилл или п...
Хватит логгировать как в каменном веке 🪵 5
26 июня 2026, 09:30
Все рекомендации учтены
CommerceBridge1C — двусторонняя интеграция 1С с MODX 3 и miniShop3 по CommerceML 2. 8
Пишем сниппет sendRedirect:
И вызываем его в чанке tpl.msOrder.success
Просто создаете свой сниппет, в котором заполняете требуемый набор параметров:
widget.getComments:
Далее создаете виджет типа «сниппет» и указываете в содержимом название свежесозданного сниппета (widget.getComments), после чего подключаете данный виджет к панели.
2. Вам нужно перенести ваш вопрос из раздела «компоненты MODX» в раздел «Вопросы».
Если нужно чистить кэш не текущего ресурса, а по конкретному id, то так:
До 2.3 кэш конкретного ресурса можно чистить таким способом.
Думаю, им всем не терпится Вам что-нибудь доказать…
UPD: Впрочем, если необходима помощь именно с моей стороны — присылайте тз на почту, посмотрю. Ценник — 900 рублей/час.
*тяжело вздохнул*
Категории
Шаблону
Тикетам в принципе
— и тому подобное)
Пишем плагин на событие создания ресурса:
Как правило, загружаемые изображения имеют следующую структуру:
=> в вышеописанном плагине формируем путь до созданной для изображений директории:
И далее циклом находим и удаляем все файлы на 1 уровень вглубь внутри $path.
Минус этого решения: если вы в этих же папках храните что-то еще, помимо оригинальных изображений (подгруженные вручную файлы, например), то скрипт затрет и их тоже.
Решается или дополнительной проверкой на расширение файла (удалять только картинки) или вклиниваться/перехватывать процесс загрузки изображений тикетами.
Но можно попробовать вклинить на событие загрузки/переключения страницы свой принудительный скролл до верха страницы:
Выборка по дополнительным условиям реализуется при помощи параметра &where (в формате JSON).
Соответственно в случае с выборкой по желаемым временным промежуткам, вам необходимо в &where прописать сравнение параметра createdon с нужным диапазоном (в unix-формате).
Проблема может быть в стороннем скрипте (начиная от виджета погоды и заканчивая какой-нибудь уязвимостью), которая выполняется до скрипта тикетов, получает ошибку и ломает весь последующий функционал. Еще порой похожую ошибку выдают русскоязычные домены, но это вряд ли ваш случай.
Данная проблема актуальна для данного редактора и решается последовательным уничтожением в dom-e и последующей повторной инициализацией.
Соответственно — необходимо вынести процесс создания/удаления редактора, написать свою логику работы при нажатии на кнопку «ответить» (до уничтожения формы сохранять уже введенные данные и вставлять в свежесозданную форму) и отредактировать tickets/js/web/default.js, вклинив в него нужные процессы.
Для наглядности, приведу пример часть своего кода, которым решал данную задачу.
Функция создания/удаления формы:
Первичное создании формы и логика для кнопки «ответить»:
tickets/js/web/default.js
Данное решение было выполнено довольно давно (~начало 2014), поэтому не исключаю, что в редакторе/коде тикетсов что-то поменялось, но не уверен, что это в значительной степени изменит логику работы.
Возможно, забыл добавить какой-то кусок кода — в случае чего пишите.
UPD: плюс, насколько я помню, у тикетсов была проблема с подхватыванием введенных пользователем данных в форму ckeditor, но затрудняюсь сказать точнее.
Вот как можно решить вашу задачу встроенными фильтрами модкса:
Теперь по поводу сниппета if и процесса обработки тегов модкса в целом: в отличие от чистого php, принцип работы тегов модкса такой, что вначале выполняются вложенные функции, а уже после — внешние.
Например, возьмем пример реализации одной и той же задачи при помощи php и функционала modx'a:
Php
Теги modx
Если с примером на php логика работы понятна, то последовательность выполнения второго примера следующая:
— выполняем сниппет 1
— выполняем сниппет 2
— проверяем страницу и показываем нужный результат
Из-за такой особенности в свое время сайты на modx'e становились жутко тормозными. И заслуга сниппета if в этом деле далеко не на последнем месте…
Надеюсь, объяснил достаточно понятно)
Если необходимо реализовать совсем аналогично тому, как это сделано здесь, то еще оборачиваете в
и любым подходящим javascript-дополнением реализуете подсветку синтаксиса.