Сегодня в 02:03
Возвращался к этому вопросу, чтобы не грузить ничего заранее, делаем просто встраивание iframe после нажатия на div и вместо него встраиваем iframe. Н...
Вставка видео с Rutube с управлением на сайте 6
Вчера в 20:23
Вариант 1
Переопределить метод msOrderHandler::submit() таким образом, чтобы там перед установлением статуса «Новый» проверялся способ оплаты и, если...
[miniShop2] Дополнительная логика отправки писем при оформлении заказа 1
Вчера в 11:23
Вот давно для себя писал: modx.pro/solutions/18489
или через мускул (перед выполнением обязательно сделайте дамп) напрямую + потом кеш почистить
U...
Автопереименование повторяющегося URL 9
Вчера в 11:06
Используй phpThumbOn он как раз в префиксе указывает размер изображения.
Ссылка: modstore.pro/packages/photos-and-files/phpthumbon
имена файлов миниатюр картинок 1
14 января 2026, 15:11
Да особо без разницы куда писать. Я отслеживаю все записи. Но в идеале создавать issue в репозитории github.com/modx-pro/MiniShop3/issues.
MiniShop3 - 1.1.0 - Уже в Modstore.pro 19
14 января 2026, 10:31
Будет еще лучше. mFilter на подходе!
mSearch для MODX3 и MS3 - уже в modstore.pro 7
12 января 2026, 08:59
Ни где не могу найти информацию по настройке импорта изображений «Обновлять данные существующих изображений» — не понять, на что влияет данная настрой...
msImportExport 2.0 127
11 января 2026, 13:08
нет переводов primeVue. То есть если использовать фильтры DataTable или Calendar, то они будут англискими.Вот про это я не подумал. Думаю учтем в буду...
VueTools - универсальный компонент оформления админки в MODX 3 4
08 января 2026, 12:31
Большие сомнения у меня в этом)
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 3
07 января 2026, 15:36
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
Что-то вроде:
НО: это не самое лучшее решение с позиции итоговой скорости, поэтому лучше реализовать ту же логику при помощи идущего в комплекте с pdoTools шаблонизатора Fenom.
С другой стороны, если вы хотите высветить алерт из какой-то произвольной библиотеки, то инициализировать его внутри вышеописанного кода не составит проблем. Если же вы хотите высветить свою стилизацию/текст при помощи идущего в комплекте с AjaxForm jGrowl, то его вызов тоже довольно легко воспринимается наитивно..)
Что же до удаления дефолтного алерта, то реализуется примерно так:
— копируем этот код в произвольный файл
— в вызове сниппета AjaxForm указываем при помощи настройки &frontend_js путь до свежесозданного файла
— в самом файле удаляем вот эту строку
(аналогичным способом можно также удалить другие типы алертов, избавляясь от строчек, начинающиеся с AjaxForm.Message)
Если честно, не уверен, что проблемы с сессией связаны именно с вышеописанным случаем (проверил в связке ms2Gallery + ckeditor — ошибка не воспроизвелась), но могу предложить вставлять прямую ссылку на картинку, а не плейсхолдер:
закладка «галерея» -> выбираете нужное изображение (кликаете) -> нажимаете на превьюшку -> копируете адрес открывшегося окна
Ну и глянуть лог ошибок/консоль при воспроизведении ошибки — может что покажет.
Но не стоит забывать, что это не отменит втроенный алерт из коробки. Т.е. желательно также добавить в вызов сниппета параметр &frontend_js, указывающий на кастомный скрипт обработки формы без вывода итогового алерта.
2. Валидация на уровне php выполняется сниппетом Formlt. (подробнее)
3. Это реализуется при помощи плейсхолдеров и дефолтных скриптов AjaxForm.
Соответственно, в вызов pdoPage прописываются и параметры, относящиеся к пагинации, и параметры, относящиеся к сниппету, который возвращает результаты.
Иначе говоря, вам нужны шаблоны tplPageFirstEmpty, tplPageFirst, tplPageLastEmpty и tplPageLast.
+ если вы хотите присвоить им «пустое» значение, то необходимо прописывать это через @INLINE (т.е. в обход чанкам).
Пример:
Особое внимание обратить на параметры шаблонов.
— нужен не level3, а level2.
+ в случай, если у вас в контейнере будет 3 или менее ресурса — последний пункт не будет проходить т.к. у него в классах будет висеть «last».
Скорее всего, idx всех ресурсов больше 3.
2. Предположим, у вас есть 2 раздела — «Список событий за текущий день» (id 1) и «Архив» (id 2). Тогда содержимое созданного php-файла будет примерно следующим:
Цитата:
Если вопрос с меню косметического плана — то можно решить задачу при помощи jquery.
В противном случае разве что вызывать при помощи pdoResources первый уровень меню, а внутри при помощи него же — второй (с выставленным &limit). Или попробовать расписать составной джоин потомков к первому вызову.
UPD: …или же вообще сверстать все руками, без запросов к бд. А активный пункт присваивать уже при помощи Jquery.
Вообще, тут скорость во многом упирается в глубину поиска и количество дочерних документов, а дальше по приоритету — хостинг и вложенные сниппеты/модификаторы.
Для сравнения, на своем сайте на modhost'e (минимальный тариф) некешируемый вызов двухуровнего меню (суммарно ~18 ресурсов) выполняется за 0.06 секунд (кешируемый за 0.01).
Грубо говоря, есть структура:
И нужно вывести список всех видео, с получением некоторых полей от родителя?
В таком случае код будет примерно такой:
В самом же чанке у нас есть плейсхолдер [[+parent]] и при помощи сниппета pdoField мы можем вытащить из родителя любые требуемые данные.
— решение не слишком хорошее с позиции кол-ва запросов, но задачу решит.
Как альтернатива — можно воспользоваться leftJoin'ом и Select'ом (документация) и подцепить в вызов требуемые поля от родителя.
(подробнее)
1) копируете содержимое и создаете кастомный файл скриптов Tickets
(чтобы не затерлось при обновлении)
2) в системных настройках Tickets указываете путь до свежесозданного файла
3) после 194 строки прописываете закрытие модального окна.