Наумов Алексей

Наумов Алексей

Был в сети 28 июля 2026, 14:21
Заказы принимаю
Кроме MinifyX есть еще ModxMinify, решает туже задачу: склеивание и минификация скриптов.

css первых экранов записывать в inline пока не пробовал)

webp да, хорошая штука, но нужно постоянно об этом думать…

Обычно все это делается уже на этапе развития сайта, его рекламы и продвижения. На этапе разработки, как правило, это никому не нужно и никто за это не платит.
Возможно оптимальнее будет «средний» вариант:
Сравниваем изменения между картинками в выгрузке и у товара, если изменений нет — пропускаем, а если есть изменения — проще удалить все картинки и загрузить заново, чем пытаться а)удалить удаленные б) добавить новые в) изменить порядок файлов.
Что-то не так…
При очистке кеша вижу в консоли:
Консоль запущена…
PHP notice: Undefined property: MODX\Revolution\modX::$service
и все…

Ошибка в плагине pdoTools (id = 1):

PHP notice: Undefined property: MODX\Revolution\modX::$service


Fatal error:  Uncaught Error: Call to a member function get() on null in /var/www/modx3beta2/www/core/cache/includes/elements/modx/revolution/modplugin/1.include.cache.php:7
Stack trace:
#0 /var/www/modx3beta2/www/core/src/Revolution/modScript.php(88): include()
#1 /var/www/modx3beta2/www/core/src/Revolution/modX.php(1706): MODX\Revolution\modScript->process()
#2 /var/www/modx3beta2/www/core/src/Revolution/Processors/System/ClearCache.php(48): MODX\Revolution\modX->invokeEvent()
#3 /var/www/modx3beta2/www/core/src/Revolution/Processors/Processor.php(189): MODX\Revolution\Processors\System\ClearCache->process()
#4 /var/www/modx3beta2/www/core/src/Revolution/modX.php(1771): MODX\Revolution\Processors\Processor->run()
#5 /var/www/modx3beta2/www/_easyComm/_build/build.transport.php(394): MODX\Revolution\modX->runProcessor()
#6 {main}
  thrown in /var/www/modx3beta2/www/core/cache/includes/elements/modx/revolution/modplugin/1.include.cache.php on line 7
В целом правильно… только вот вопрос, FormIt2db хранит данные не в json формате случайно? Поиск вы потом как будете по таблице делать?
Вместо скрытых полей — можно prehook сделать и добавлять к данным информацию о пользователе, текущем времени.
Или создавать документы через API, в целом это нормальный вариант, главное создать правильно (заполнить все поля имею ввиду) и проследить, чтобы были обработаны ситуации, если у вас плагины есть на события создания/редактирования документов. Ну и кеш там почистить потом.
Или же в скрипте залогиниться в админку под пользователем-админом (менеджером), что как бы не особо безопасно…
Или же настроить права так, чтобы аноним мог создать страницу, что тоже не гуд.
Самое простое сделать запрос в БД, примерно (! без проверки пишу) так:
$q = $modx->newQuery('ecMessage');
$q->where(array(
'thread' => 123, // id цепочки сообщения
'published' => 1,
'deleted' => 0,
'rating:>'  => 3,
));
$count = $modx->getCount('ecMessage', $q);
В общем да… в частном нет… к сожалению (
1. Проблемы безопасности, находят уязвимость, в старой версии (не важно чего, MODX или miniShop) никто исправлять не будет — обновляйте!
2. Проблема совместимости со сторонними компонентами. Подключен у нас модуль интеграции со СДЭК, обновили они свое API, компонент соответствующий для MODX обновился, но он теперь работает только на свежем miniShop, обновляйте!
Встроенной возможности нет.
Или делать свой фильтр, что скажем, посложнее.
Но есть и вариант попроще — завести новую опцию «Высота каблука (диапазон)», и заполнить ее для товаров именно так, как нужно это показывать в фильтре)