Cyrax_02
С нами с 04 августа 2013; Место в рейтинге пользователей: #2063 часа назад
Под miniShop2 обычно так делаю:
<script>
$(document).ready(function () {
miniShop2.Callbacks.add('Order.submit.response.succes...
Настройка JS-события для Метрики через метод reachGoal 1
Вчера в 15:30
К сожалению данный вариант это нарушение — сбор данных без согласия.
Думаю в скором времени та же Метрика подстроится под Закон
Плашка о использовании cookie файлов на сайте 10
Вчера в 15:10
Посмотрел внимательнее: дублирование не по вариантам в источнике файлов, а по количеству фото у товара.
Новости MiniShop3, mSearch, mFilter 23
Вчера в 14:23
Не могу отредактировать, сам себе отвечу.
Справился с ситуацией, поменял тип вывода с JSON на String и дальше уже через Рендер вывел. Все ок.
[msStatOrders] - Статистика заказов Minishop2 / Новая версия 42
14 мая 2026, 11:38
Желательно ставить disabled для кнопки «Сбросить», если не выбрано ни одного фильтра: disk.yandex.ru/i/PZliDL8USeHvAA
Тогда можно в зависимости от ...
mFilter 1.4.0 - перестроенная система кеширования 1
14 мая 2026, 09:48
С бэкапами все плохо.
На S3 на пол дороги зависло создание бэкапа. Как остановить?
В общем сырая панелька, багов много) Функционала много, но толк...
Мне было грустно без Modhost и я сделал Meowbox 61
13 мая 2026, 23:57
Да, как раз ChatGPT и помог, спасибо
Не открываются категории miniShop 2 в админке [РЕШЕНО] 3
13 мая 2026, 15:05
Благодарю! Вещь крайне нужная всем.
Вот этот коммент посмотри, пжст: modx.pro/components/25442#comment-146518 (выше).
Тоже важно, особенно в плане с...
mSearch для MODX3 и MS3 - уже в modstore.pro 14
13 мая 2026, 10:45
upd. проблема в каком-то (или в нескольких) плагинах. Осталось понять где именно.
Не удаляются удаленные ресурсы 27
А с помощью запроса (например, в myAdmin), всегда можно найти и перепривязать все «подвешенные» ресурсы после очистки корзины. Этот же запрос можно и на xPDO составить, а перепривязывать через процессор 'resource/update'.
Можно перегрузить процессор очистки корзины, чтобы все подчинённые ресурсы окончательно удаляемых ресурсов перемещались в определённое место (или к родителю окончательно удаляемого ресурса). Только для этого нужно будет где-то хитро подменить процессор.
Если файл с этим процессором имеет имя «sdelete.class.php» и лежит там же, где и все прочие стандартные процессоры modx, то вызов будет выглядеть так:
Если файл с процессором лежит в собственной папке PROC_PATH и имеет имя «sResourceDeleteProcessor.class.php», то вызов будет таким:
=============================================================================================
1.В данном примере реализовано опциональное отключение удаления дочерних ресурсов и очистки кэша. И реализовано это на базе те же самых свойств, которые передаются вторым параметром в метод modX::runProcessor().
2. Отключать очистку кэширования может быть полезно при пакетной обработке ресурсов для сокращения времени обработки. Аналогично можно отключить и логирование (перегрузкой метода modResourceDeleteProcessor::logManagerAction())
3.В процессорах «resource/create» и «resource/update» параметр «syncsite» уже обрабатывается (по умолчанию syncsite = true), тогда как стандартный процессор «resource/delete» кэш очищает всегда
4.При обработке ресурсов кэш очищается только в следующих разделах: 'db', 'auto_publish', 'context_settings' и 'resource'
а) запросы на чистом pdo
б) отказ от объектов
в) г) д) — в invokeEvent не используется
Парсер Василия, вроде, так и работает (это если вдруг кто-то захочет заминусовать меня за «отказ» от объектов).
Что касается вопроса изменения системных файлов и лучшего из предложенных вариантов — с вами полностью согласен — вариант 1 является наиболее корректным. А именно, в озвученных 4 файлах достаточно фрагмент
заменить на:
где smodx.class.php — файл с объявлением нашего класса smodX, наследующего стандартный класс modX.
И дело в шляпе…
2) Появляется возможность отслеживать время подключения классов, время инициализации, время выполнения запроса (modX::getRequest) и многих других операций, выполняемых modx, избавив себя от гаданий, почему modx «тормозит».
3) В момент инициализации modx (modX::initialize()) можно свободно подключать любые файлы (например, собственные библиотечные функции и классы), не обременяя себя строгой логикой пакетов. Эта возможность особенно актуальна, когда необходимо подключить все файлы из некоторой директории.
P.S. «Тайный поклонник» обязательно заминусует этот пост. Можно ставки делать ))
1) Минус с первого поста на 2-й перенёс модератор, посчитав его необоснованным
2) За первый пост кто-то поставил плюс, компенсировав тем самым минус «Тайного поклонника»
Очень напоминает
позупозицию Запада в отношении России.modX::sendForward
Forwards the request to another resource without changing the URL. If the ID provided does not exist, sends to a 404 Error page.
В вашем случае текущий URL и не нужен вообще, нужны только параметры.
Изменить (добавить) параметры при обработке текущего запроса можно 2 способами:
1) «Железный» вариант: на уровне .htaccess (директива redirect с использованием регулярных выражений)
2) В обработчике OnLoadWebDocument (с максимальным приоритетом = 0) добавить недостающие параметры (можно также удалить ненужные) в глобальные массивы:
а) при передаче данных методом POST: $_REQUEST + $_POST
б) при передаче данных методом GET: $_REQUEST + $_GET
И далее в любых сниппетах, функциях, классах, плагинах для получения параметров запроса использовать:
а) либо эти самые глобальные массивы
б) либо метод $modx->request->getParameters($keys, $type) (этот метод как раз и использует вышеуказанные глобальные массивы):
[correctMode = true] url формируется на основе текущего ресурса по правилам modx — «устойчивый» вариант
[correctMode = false] url формируется из строки запроса
А дальше добавить параметры — элементарно.
Как оказалось, время изменения файла, отображаемое на странице редактирования файла в modx, — это не серверное время и не локальное время админа. Это время, соответствующее php-настройке date.timezone (в моём случае оно совпадает с серверным временем). Т.е. modx просто считывает дату файла с помощью filemtime (все php-функции, работающие со временем, используют date.timezone) и отображает её в строковом виде. Никаких преобразований времени не производит.
Хотя логичнее было бы преобразовать это время сначала в UTC, затем в серверное, затем в локальное админское (с учётом server_offset_time) и только после этого отображать.
Аналогично modx поступает и с отображением даты публикации/создания/модификации ресурса — считывает из БД и отображает без всяких преобразований (этот факт делает нецелесообразным использование настройки date.timezone = UTC, которая в определённом смысле является более корректным вариантом).
Здесь возникает 2 вопроса:
1) Зачем нужна настройка server_offset_time?
2) Почему (и каким образом) при задании ненулевого server_offset_time время изменения файла, отображаемое в WinSCP, на server_offset_time превышает серверное время изменения файла?
Всё остальное (включая pdoResources, пагинация и т.д. и т.п.) реализовано на собственных функциях, классах, обвязках.
P.S. А теперь ждём конструктива от автора минуса…
Я сторонник конструктива — а Вы?
Исправлять логические ошибки.