2 часа назад
document.addEventListener('DOMContentLoaded', () => {
const notyf = new Notyf( {position: {
x: 'center',
y: 'top',
...
Как позиционировать сообщения Notyf в FetchIt? 1
Вчера в 00:50
Заметил баг, если установлен controlErrorLog или modalConsole, то на странице CronTabManager они не работают.
PR отправил github.com/astra-modx/modx-...
CrontabManager - работа из под console ssh 6
14 февраля 2025, 22:35
Сниппет pbResources — это аналог pdoResources, но с возможностью присоединять таблицы по принципу «один ко многим», чего нет у pdoResources. Также пер...
PageBlocks. Выводим SEO-карточки 4
13 февраля 2025, 22:33
Вот было бы неплохо это прописать в описании к компоненту. Два дня ломал голову почему не работает. Ведь форма может быть кастомизирована как угодно, ...
Ошибка ms_cdek2 9
13 февраля 2025, 22:30
С точки зрения производительности это плохая идеяПонимаю, но писать свое решение нет ни времени ни денег.
Сортировка в pdoMenu 6
13 февраля 2025, 19:02
Всем добрый день. Может не совсем в тему, но проблема следующая:
1. Есть контекст web — обычные текстовые страницы
2. Есть контекст catalog — катего...
[update] Общая база товаров для разных контекстов 21
13 февраля 2025, 16:46
Спасибо. Так сработало.
easyComm 1.15.0 большой апдейт: ответы, улучшенные файлы и многое другогое! 23
13 февраля 2025, 15:02
Такая же ситуация, загрузить нельзя на modx 3 не находит такого пакета.
А после установки локально сыпятся ошибки
components/sendit/services/sendit....
Нет возможности загрузить SendIt на modx 3.1 а очень хочется 5
13 февраля 2025, 14:15
Всё откатил. Почистил. Установил заново. Написал в поддержку на modstore.pro
msSortFields 17
Вот чтобы это сделать, в первом чанке вы устанавливаете плейсхолдер через метод 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 файлы.