Cyrax_02
С нами с 04 августа 2013; Место в рейтинге пользователей: #25027 минут назад
Спасибо!!! Скоро опробую, отпишусь о результатах!
Модификатор сортировки pdoResources по pagetitle 6
2 часа назад
Добрый день. Появилась новая ошибка: 27.11.2024 12:30:20 ERROR /www/site.ru/core/components/yasmartcaptcha/model/yasmartcaptcha.class.php 60
Reco...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 6
4 часа назад
Извините, у вас сообщения закрыты. Я хотела спросить насчет компонента msExportUsersExcel. Может быть у вас есть аналогичный компонент для импорта пол...
Facade Laravel в Modx 2/3 23
4 часа назад
Андрей Степаненко.
Извините, у вас сообщения закрыты. Я хотела спросить насчет компонента msExportUsersExcel. Может быть у вас есть аналогичный компо...
Zoomx получить данные родителя на странице товара 7
Вчера в 17:14
В vesp долго переезжать. Нету модульности никакой и с авторизацией, в смысле с разграничением прав, там Василий особо не напрягался :-)
Плюсы и минусы Vue и gtsAPI 17
Вчера в 13:01
Забыл написать версия modx 3.0.5
И сама форма
<form data-si-form="FormSlider" data-si-preset="slider_form" data-si-event=&quo...
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 20
Вчера в 09:34
В критерия должны передаваться параметры where это все что можно передать
т.е.
возможно только так
$criteria = array(
"article:LIKE =>...
Массовое удаление 7
25 ноября 2024, 22:34
Вдруг кому понадобится… Прописать TV параметр в источнике файлов для MIGX можно так (для примера TV `ln`):
[[!migxResourceMediaPath...
Источник файлов и migx 6
25 ноября 2024, 21:01
Привет
Подскажи, пжл как добавить поля из компонента msFieldsmanager?
Скрин
msPre - фильтры по опциям minishop2 11
25 ноября 2024, 20:03
А как добавить если чекбоксы?
msPre добавление кастомного поля (списка с автодополнением) 4
А с помощью запроса (например, в 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. А теперь ждём конструктива от автора минуса…
Я сторонник конструктива — а Вы?
Исправлять логические ошибки.