3 часа назад
Если только после майских праздников можно будет сделать для 2.x. Попробую.
mxDadata — интеграция DaData (Suggest, Clean, Party) с MODX 3 и MiniShop3 2
4 часа назад
Я так же все локально разрабатывал и тестировал и все ок было
msp3YooKassa - Интеграция с платежной системой ЮKassa 7
Вчера в 15:27
Я потому и задал вопрос о том как реализовано в Minishop3?
Новости MiniShop3, mSearch, mFilter 7
22 апреля 2026, 06:21
Мне лично документация вообще не понятна :-). Все просто в доке, но вот вопрос, что за канал создается через ваш бот? Это наш канал или ваш? В доке ма...
[MAX bot] отправляем сообщение в бот MAX на изи 8
22 апреля 2026, 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
Вот чтобы это сделать, в первом чанке вы устанавливаете плейсхолдер через метод setPlaceholder, а во втором чанке — получаете через getPlaceholder.
Если что-то не так, значит вопрос составлен не совсем ясно.
То далее получать ее значение нужно так:
Поле выбирается с точкой «tv.articleCat», она воспринимается разделителем, выглядит как таблица tv, поле articleCat.
1. сначала articleCat
2. потом articleСat
Далее исправляем косяки.
Стоит сравнить побайтово!
Нужно написать плагин, регистрирующий js, в котором выбрать (читай загуглить) событие, срабатывающее после показа окна редактирования ресурса, на это событие прицепить код:
ну а чтобы ссылку сделать, достаточно в ней передать хеш #tab-tvs, и скриптом проверять этот хеш.
/category
в ней товары 1,2,3
/category/1
/category/2
/category/3
У этих товаров параметр «Тип»: «3D-Торт», «торт без мастики», «многоярусный торт»
На выходе получим виртуальные (т.е. в админке их нет) страницы:
/category/3d
/category/bez-mastiki
/category/mnogoyarusniy
Товары не дублируются.
Дочерних категорий соответственно нет, они виртуальные, генерируются фильтром.
По-умолчанию вильсон, отсюда и такой средний бал.
Чтобы было среднее арифметическое — в используемых чанках поменяйте постфикс "_wilson" на "_simple".
Здесь нужно указать id родительского ресурса, в виде числа.
К выборке присоединяем цепочку и выбираем кол-во отзывов:
После сортируем по полю reviews_count
Если нужно отслеживать, что поменялся список отзывов, то надо ловить все события: OnEcMessageSave, OnEcMessagePublish, OnEcMessageUnpublish, OnEcMessageDelete, OnEcMessageUndelete, OnEcMessageRemove.
плагин один, код один, события несколько. Уже в плагине смотрите, что произошло.
Получить id вроде как, если не путаюсь:
Список:
В событии как правило доступен $object (ecMessage или ecThread).
Возможно (но не точно) для ресурса, который не был опубликован, а сейчас галочку поставили, эта дата будет пустая.
Примерный сценарий:
1. Разворачиваем сайт
2. Устанавливаем поверх свежий (или не очень свежий) MODX
3. Обновляем все компоненты, задача — переустановить их с заменой файлов
4. Удаляем старые версии компонентов, чтобы уменьшить кол-во файлов
5. Тщательно ищем упоминания вирусов во всех файлах, сверяемся с исходниками modx и компонентов, используем антивирусы.
6. Кстати. Вот перед всем этим, хорошо бы проанализировать даты изменения файлов. Возможно, вам получится выяснить список файлов, модернизированных вирусом.
7. Недостающие файлы пытаемся найти через webarchive или свои старые бекапы. Это единственное место, где я смог найти js файлы.