Вчера в 13:55
Подтверждение E-mail не работает, не после регистрации, кнопка подтверждения в демо версии кабинета вообще не запускает крипт, насколько мы поняли кла...
MiniShop3: итоги февраля и версия 1.6.0 21
Вчера в 06:21
Мне лично документация вообще не понятна :-). Все просто в доке, но вот вопрос, что за канал создается через ваш бот? Это наш канал или ваш? В доке ма...
[MAX bot] отправляем сообщение в бот MAX на изи 8
Вчера в 00:22
Оказалось, что Localizator конфликтовал с плагином prettyTags. Ошибки в журнале с этим не связаны.
Localizator 1.0.9 и 1.1.0 8
21 апреля 2026, 19:25
Всё же разобрался.
Браузеры игнорируют CSS-файлы, если сервер отправляет неправильный MIME-тип. Например, вместо text/css может возвращаться text/ht...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 3
18 апреля 2026, 15:34
открыл, не знаю, почему он закрыт оказался) но, стоит учесть, что код там очень старый
msProductKits - удобное управление товарами-комплектами (наборами товаров) 31
15 апреля 2026, 13:43
Несколько корзин на странице это исключительно визуализация. miniShop2 только одна корзина. Из коробки показать её можно всего двумя способами, мой па...
[MsAltCart 1.0.7] Теперь с документацией. 3
14 апреля 2026, 19:53
У стрелок есть срок жизни. Кажется месяц. Вася так сделал, потому что на тот момент гонялись за рейтингом и накручивали, лайкая старые заметки.
ms3Favorites — избранное для MODX Revolution 3 и MiniShop3 3
13 апреля 2026, 11:00
Делал такие «Спецификации», получилось настолько уникальное и заточенное под сайт решение, что прям и в отдельный пакет то не оформить — куча специфич...
Несколько корзин на сайте, списки желаний/покупок, возможность поделиться, списки товаров для расчет... 1
2. чекбоксы «я согласен на обработку моих персональных данных/подтверждая форму, я соглашаюсь с правилами сайта» на объемных формах — регистрация/оформления заказа
3. страница с политикой конфиденциальности + ссылка в подвале
4. modhost.pro
Параметры шаблонов.
Попробуйте в плагине выше заменить:
На это:
А вообще, правильнее было бы убрать суффикс '.html' для документов.
Если выполнять $modx->sendForward(айди_страницы_404), то будет отдаваться некорректный код ответа, ну и последующие плагины на OnPageNotFound не будут корректно обрабатываться.
Посмотрите мой исходный пример и сравните со своим — у вас вначале происходит условие:
а после вы пытаетесь проверить на это:
— в моем же примере второе условие было ВНУТРИ первого.
— нужно пояснить, что изменилось?
— установить дополнение pdoTools
— включить для него системную настройку pdotools_fenom_parser
Но, без базовых знаний js у вас могут возникнуть побочные проблемы, в случае, если у вас в шаблонах или чанках где-то присутствуют {}.
Да, к слову. Вам будет не лишним принудительно отключить кэширование для страницы списка пользователей:
редактирование ресурса -> закладка настройки -> убрать галочку у
пункта «Кэшируемый»
В противном случае не делать ничего, чтобы в случае неподходящего запроса пользователя перехватывал роутер 404 ошибки.
Если вам нужно получить плейсхолдер, используйте [[+value]]
Но это лишние запросы к бд, т.е. итоговая скорость обработки будет ниже.
— качаете какое-нибудь дополнение аля switch
— в плагине, в зависимости от совпадения, передаете плейсхолдер user_page_type
— создаете чанк с оформлением под каждый «тип» страницы (основная, список пользователей, комментарии, избранное)
— далее, в шаблоне списка пользователей:
(пояснение по поводу структуры чанков)
Например:
1. Есть страница /users/ (список всех пользователей), со своим шаблоном, отображающий, допустим, всех пользователей.
2. В плагине, при совпадении шаблона адресного запроса, идет переадресация на /users/ методом sendForward + выставляются плейсхолдеры (допустим, user_id)
3. В шаблоне «списка всех пользователей» проверяем наличие этого плейсхолдеры и, исходя из результата, подставляем нужные данные:
Используя феном, можно так вообще кастомизировать виртуальную страницу без потери результативности, вплоть до сео. Вот, например, как реализована страница пользователя у меня:
После чего уже обращаться к его переменным
Есть 2 варианта:
— засунуть е-мейл в плейсхолдер:
и в последующем получать его в любом коде, инициализированном после записи плейсхолдера:
— воспользоваться дополнением clientconfig и вынести ваш е-мейл в системную настройку, которую в дальнейшем можно будет получить так: