Александр Туниеков
С нами с 19 декабря 2015; Место в рейтинге пользователей: #1127 марта 2026, 14:49
Не получается установить pbQuiz. Требует pageblocks хотя я его установил. В чём может быть проблема?
pbQuiz — гибкий компонент квизов на контроллерах PageBlocks 4
27 марта 2026, 13:13
Все ок, почему то не выполнялся Cron на хостинге, решил через провайдера.
msImportExport 2.0 129
26 марта 2026, 21:13
С валидацией по шагам стало понятней, спасибо, с событием change после загрузки файла буду разбираться.
Странный баг в SendIt (квиз+загрузка файлов) 2
19 марта 2026, 15:28
Николай, прежде всего — вы молодец.
А про кеширование — можно пойти по правилу Парето.
То есть дать возможность закешировать самое частое — это ...
mFilter 1.2.0 - улучшенное кеширование и скорость 2
15 марта 2026, 20:35
Minishop2 это завершенная история. Архив. Крайне сомневаюсь, что в него будут добавляться какие то изменения. Это просто некому делать. Заинтересованн...
Порядок значений опций товара 10
15 марта 2026, 13:18
На всякий скопирую код для Bootstrap 4 (есть старый проект, лень переезжать на 5 версию):
/* Закрыть модальное окно после отправки */
document.addEve...
[SendIt] Несколько полезных нововведений в версии 1.1.2 27
1.7729151 немного. но почему-то временами втупляет до 10с
Что у вас такого тяжелого на странице выполняется? Хочется сделать какое-нибудь универсальное решение проблемы, если это возможно. Действительно тяжелые это фильтры товаров. Какие еще тяжелые сниппеты или случаи есть?
MODX при инициализации опознает юзера.
Конечно, в чанки не стоит пихать код, но часто бывает так значительно проще. Например, как тут.
Плюс, для совместной работы, надо придерживаться единообразного стиля программирования. Синтаксис php, MODX и fenom знаком многим. А вот modHelpers редко встречается. И, соответственно, его не стоит использовать. Это помешает другим работать над проектом.
А где делается кеш при загрузке странице в упор не могу найти
Я бы, наверно, поставил в крон что-то типа
из core\model\modx\modresource.class.php
При сохранении ресурса с флагом $cacheFlag= true, кеш ресурса обновляется. Этим занимается метод toCache в core\xpdo\xpdo.class.php.
Наверно, можно при сохранении ресурса в админке сразу создавать его кеш. Переделав плагин Василия bezumkin.ru/sections/tips_and_tricks/351/. Только говорят кеш в MODX чистится весь из-за каких-то проблем. И не понятно, какие проблемы могут возникнуть, если кеш делать при сохранении в админке.
www.php.net/manual/ru/function.setcookie.php
Она по идее должна быть пустой. Если там что-то есть, то вы наверно доступ манагерам к категориям элементов ограничивали. То есть, кому-то дали права а остальным облом. В том числе и анонимам. Если я, конечно, верно код интерпритировал. Доступ к категориям редактируется здесь yadi.sk/i/4CM-C0bYWRRFjg
Если у кого-то доступ настроен, то надо и анонимам сделать аналогично. Только контекст на web поменять.
У меня лог
modAccessCategory не к сниппетам относятся вроде
То есть, никаких данных о товаре. Вам либо ajax в вытаскиванием данных из корзины и базы либо собирать данные со страницы.
Ищите в логе Principal 0 does not have permission to load object of class modSnippet и сюда часть рядом с ними. Если рядом массивов нет, то не прогружается сессия.
А нет у нас
и yadi.sk/i/LxtgR47-77XUMg
То есть, сессия не прогружается и права false.
В modsessionhandler.class.php после $this->session= $this->modx->getObject('modSession', array('id' => $id), $this->cacheLifetime); строка 159 ставим
То есть 0 это просто id юзера.
Скорее всего валится на $instance->checkPolicy('load').
Открываем core\model\modx\modsnippet.class.php. Там ничего такого нет но class modSnippet extends modScriptВообщем участвуют 2 метода
modaccessibleobject.class.php
и modelement.class.php
В modaccessibleobject.class.php после $policy = $this->findPolicy(); строка 219 вставляем
Прогружаем страницу и смотрим лог.
Там логов полно, но на debug уровне. То есть, в системных настройка ставим log_level = 4 и смотрим что происходит.
Открываешь D:\OpenServer\domains\modx.loc\core\xpdo\xpdo.class.php и на строке 840 находишь
добавляешь
Смотришь по логу что отдало null. Затем, если в логе «instance », то есть $instance = null, ищешь public function call выясняешь что эта функция вызывает и т.д.
Муторно. Долго. Но иного способа нет. Зато больше понимания как modx работает :-).