01 апреля 2026, 18:15
У меня на регистрации словил ошибку.
При это пользователь явно создался, т.к. повторно создать пользователя на ту же самую почту не дает.
При повто...
[MAX bot] отправляем сообщение в бот MAX на изи 7
30 марта 2026, 20:49
PHP >= 8.2 должно быть. У MS3 минимум 8.2
[msCDEK] Расчёт доставки СДЭК в miniShop3 1
27 марта 2026, 14:49
Не получается установить pbQuiz. Требует pageblocks хотя я его установил. В чём может быть проблема?
pbQuiz — гибкий компонент квизов на контроллерах PageBlocks 4
27 марта 2026, 13:13
Все ок, почему то не выполнялся Cron на хостинге, решил через провайдера.
msImportExport 2.0 129
26 марта 2026, 21:13
С валидацией по шагам стало понятней, спасибо, с событием change после загрузки файла буду разбираться.
Странный баг в SendIt (квиз+загрузка файлов) 2
19 марта 2026, 15:28
Николай, прежде всего — вы молодец.
А про кеширование — можно пойти по правилу Парето.
То есть дать возможность закешировать самое частое — это ...
mFilter 1.2.0 - улучшенное кеширование и скорость 2
15 марта 2026, 20:35
Minishop2 это завершенная история. Архив. Крайне сомневаюсь, что в него будут добавляться какие то изменения. Это просто некому делать. Заинтересованн...
Порядок значений опций товара 10
Я обычно пляшу от удобства дальнейшей работы заказчика в админке.
Если требуются какие-либо особые доп. поля, или хитрое оформление редактора и т. д., то выношу в отдельный шаблон.
Таким образом для стандартного магазина получается «Главная страница», «Стандартная страница», «Категория», «Товар», «Новость, публикация» ну еще пара служебных.
Корзину, поиск и все страницы, которые не требуют своих TV или какой-то особой верстки, делаю на «Стандартной странице» с условиями (обычно по ID) на Fenom.
Затем, что разграничить доступ к админке для разных городов проще и лучше с контекстами, чем ресурсами.
Если же ресурсами-контейнерами, то выше )).
И в сниппетах просто указывать, откуда забирать ресурсы:
Если же у каждого контекста своя структура с различными разделами (например, новости только для этого города, контакты и т. д.):
то можно использовать настройки контекста. В случае, допустим, с новостями добавляете у каждого параметр page_news, где указываете ID страницы «Новости» этого контекста-города. В примере выше для первого это 5, для второго — 13 и т. д.
Тогда в общем (единственном) шаблоне в вызовах просто пишете:
Для меню же вообще не указываете контекст — по умолчанию выводится все из текущего.
Про чанки и шаблоны не совсем понял. Без описания структуры меню (есть ли общие для каждых городов страницы, например) сложно сказать что-то конкретное.
Сделайте 14 контейнеров-городов с объектами внутри. Хотите, в общем контексте, хотите вынесите в отдельный для удобства.
Фильтровать в общем каталоге можно по родителю.
Если нужно, ресурс со сниппетом для Ajax-запроса можете сделать в любом контексте.
Параметр и значение зависят от реализации. Это может быть как название города, так и ID ресурса или еще какой уникальный идертификатор.
Если нужна фильтрация предложений на странице каталога, то да — можно использовать mSearch (вернее, mFilter, идущий с ним в комплекте).
Если достаточно просто списка предложений на страницах городов/регионов, то хватит TV и какого-нибудь сниппета, выводящего ресурсы (getResources, pdoResources, getProducts и т. д.).
Можете написать сниппет, который будет вытаскивать из таблицы modx_ms2_products значение поля image для ID текущего ресурса, а можете поставить Rowboat и сделать так:
Ну а в чанке img используйте плейсхолдер [[+image]], который выведет путь к картинке. Дальше по обстоятельствам ).
Смотрите, что там до этих строк, как формируется эта $response и, соответственно, проверяйте.
Вызов:
А вообще тут много полезного )).
Тогда добавьте соответствующий хук и параметр с указанием куда редиректить:
А чтобы заработало сообщение без редиректа, плейсхолдер должен быть некешируемым: