6 часов назад
по моему путь не верный у вас в «snippet.sendcode.php», должен быть такой наверное?
require_once MODX_CORE_PATH . 'components/sendit/services/identi...
[СДЕЛАЙ САМ] Авторизация и регистрация по SMS с помощью SendIt 8
7 часов назад
Из-за сложной структуры extJS оказалось, что нужно написать бессмысленно много PHP кода. Когда счет новых процессоров пошел на второй десяток — пришло...
MiniShop3 - чего ждать в Beta версии. 9
7 часов назад
Блин курсор прям чума :-).
Написал промт
Теперь выбери специфичные для организации ВК24 данные. Запиши их в фай импорта системных настроек для MODX...
Испытание ИИ Cursor 3
8 часов назад
Можно сделать самому по этой инструкции
msOneClick Чекбокс Согласия на обработку данных 1
8 часов назад
Во-первых, radio это переключатель, это означает, что он должен иметь какое-то значение изначально, соответственно и валидация не нужна. Во-вторых, ес...
Как кастомизировать сообщения после Регистрации на сайте? 5
Вчера в 12:05
Нужно проверять метод save в файле assets/components/tickets/js/web/default.js
Там лаг с label id и input id и как раз если убрать из label id, то и ...
Указан неверный код защиты от спама. Tickets, как исправить? 2
Вчера в 11:30
Павел, скрипт у вас просто замечательный! Только одно но, или 2, смотря как считать… Сниппет требует от браузеров пользователей очень много ресурсов и...
[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой 112
03 декабря 2024, 23:11
Ну планируется что расчеты будут делать клиенты на сайте. А чтоб они не могли приписать себе любую цену товара считать цену надо на стороне сервера. Т...
Плюсы и минусы Vue и gtsAPI 20
03 декабря 2024, 19:01
xtype: modx-combo-user
Это xtype (тип поля) самого MODX, выводит всех пользователей modUser
Список всех возможных типов полей
Вывести поле создателя при редактировании ресурса 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 файлы.