5 часов назад
Подтверждаю, выводит к сожалению не все строки
Закономерность отловить не получается.
Но у меня показывает типа «Строк 10, Показано 1-6 из 7»
И в к...
settingsWidget - настройки в панели управления 22
Сегодня в 05:54
Я сделал вот такой скрипт, который можно повесить на cron или запускать вручную при необходимости. Суть в том, что он проходит по всему сайту, генерир...
Подскажите, как с помощью StercSeoSiteMap создать карту со ссылками на друге карты ? 1
01 ноября 2025, 10:54
Каждое предработное утро я начинаю с чтение новостей. И первым всегда идёт MODX.pro.
От такого дайджеста на меня костюм-тройка чуть сам не налез, б...
Дайджест форума за октябрь 2025 глазами DeepSeek 4
01 ноября 2025, 10:49
Собственно переговоры прошли успешно, в понедельник передаст мне компонент, к концу месяца будет работать.
[CDEKIntegrate] Отправка заказов напрямую в CDEK 18
30 октября 2025, 19:01
Два дня проковырялся, пытаясь сделать по этому конфигу.
Один сайт сразу завелся, остальные вместо перехода на страницу редиректят на главную — чудо н...
Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7 13
30 октября 2025, 17:34
да да, могу пообедать?
Modx 2.8.8 + minishop 2 какая версия php поддерживается? 13
28 октября 2025, 22:14
Сам себе отвечу: так как FormIt умеет только прикреплять файл к письму, для чего он файл грузит во временную директорию, надо отдельным хуком переноси...
GoogleSheets. Компонент для работы с Google таблицами. 27
26 октября 2025, 19:22
всё, спасибо.
надо было понизить версию PHP -_//
[СДЕЛАЙ САМ] SendIt и MiniShop2 - заказ в 1 клик - быстро, просто и бесплатно. 66
Всего 125 267 комментариев
pagetitle, tv_vin
или pagetitle >br> tv_vin
не сработало
Проблема в том что карта у них строится без какой либо доп информации о плагинах, просто событие->список ID плагинов, уже отсортированных в sql запросе. То есть пересортировать ее без дополнительного запроса к базе не получится (ну или надо сохранять расширенную карту из базы при инициализации и потом при добавлении нового плагина пересобирать итоговую карту). Сейчас реализовано так, что сначала выполняются плагины из бд — и подвязанные к событию в админке, и подвязанные к событию в коде, потом все closure плагины. Вообще это больше не для того чтобы кто-то в админке вручную тыкал, а чтобы например при разработке пакета вы спокойно свой функционал раскидали по нужным событиям и не парились с созданием плагинов и привязкой/отвязкой событий при обновлении например.
Дмитрий, если у тебя получилось — поделись мануалом — скриншотом
И после просмотра примера возник новый вопрос: а если у меня будет большая функция или несколько функций или я хочу использовать целый класс в плагине, как тогда?
видимо, управлять приоритетом можно.
Попробуй писать msProductOption.flat_area вместо простого flat_area
Вроде не уязвимо :-). Почти все через pdoFetch идет. Только иногда использую сложное условие вроде (id IN (2,3) and (parent = 4 or parent IS NULL)) в where. Тогда… хм. проверю :-).
Код для проверки:
На запрос gettables.ru/test.html?id=4+OR+1 выдало:
Выдало все id страниц. То есть
Уязвимо для инъекций. Будем знать.
Этап:
OnMODXInit — Проверка сессии
Функционал: Проверка наличия данных в сессии
Код / Действие:
Примечания: На случай, если в сессию была вручную положена смена устройства или языка.
<cut/>
Этап
OnMODXInit — MobileDetect
Функционал: Определение типа устройства
Код / Действие:
Примечания: Определяется при инициализации MODX, чтобы не делать это на каждой странице. Если не удалось определить — ставим «mobile» как дефолт. Значение в сессии нужно для ручного переключения.
Этап:
OnMODXInit — Язык браузера
Функционал: Получение языка из заголовка
Код / Действие:
Примечания: Используется тот же плагин, что и выше.
Этап:
OnMODXInit — Плейсхолдеры
Функционал: Установка плейсхолдеров
Код / Действие:
Примечания: Нужно ли использовать session_write_close();?
Этап:
OnHandleRequest — Babel / Контекст
Функционал: Переключение контекста по URL
Код / Действие:
Примечания:
Нужно исключить mgr: Применяется сразу, т.к. сессия без перезагрузки не даст данные
Событие может меняться местами с другим — нужно повесить на оба
Номер сегмента — это порядковый номер контекста в URL
Этап:
OnLoadWebDocument — Переключение шаблона
Функционал: Установка шаблона в зависимости от устройства
Код / Действие:
Примечания: Меняем шаблон через специальный плагин, где заданы соответствия для mobile/desktop. Ресурсы не кешируются.
Доп. учесть:
— Конфликт сессий
Функционал:
— Код / Действие: —
Примечания:?