3 часа назад
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
Вчера в 20:15
Хотел проверить еще раз, теперь все работает. Спасибо.
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 24
05 января 2026, 14:53
Тоже не понял зачем эти сложности, всегда этот скрипт юзал.
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 4
30 декабря 2025, 22:52
Почему-то прочитал это голосом комментатора из Дома 2… Только про Minishop 3!) Спасибо всем за вклад в развитие и, достаточно неплохие итоги года)
Итоги 2025 года на MODX.pro 3
27 декабря 2025, 16:41
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\с...
Отладка 500 ошибки MODX 1
26 декабря 2025, 18:00
ух ты крутяк!
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 2
24 декабря 2025, 22:11
Есть поле mail_smtp_user введи туда логин, если не сработает введи email. И не забудь в emailsender корректный email прописать.
Modx 2.8.8 еще подходит отправки почты через smtp.yandex.ru? 3
24 декабря 2025, 00:23
Нет, лайки всегда были привязаны ко времени публикации, чтобы лайками старых постов рейтинг не накручивали.
MiniShop3 - новый релиз. 1.0.0-alpha.2 15
Всего 125 415 комментариев
— на modhost.pro/ на тарифе разработка, сгенерировал 500 000 записей уникальных сессий с 70% ботов.
— выделенный сгенерировал 2 000 000 записей уникальных сессий с 70% ботов.
Далее по тексту режим:
standart — стандартный запрос на удаление что используется в modSessionHandler
ext — запрос на удаление что используется в ExtSessionHandler
Сразу стало заметно тормоза:
Session cleanup time for mode «standart»: 0.0150 s
Session cleanup time for mode «ext»: 3.3543 s
Был один запрос с несколькими условиями github.com/vgrish/ExtSession/blob/490dfc4a7a8f1d1dd18a988573f5b607fadc457c/core/components/extsession/src/ExtSessionHandler.php#L180-L204
Разбил на несколько, стало чуть получше но все равно не то.
Добавил общий индекс на 3 колонки github.com/vgrish/ExtSession/blob/8223ff63e5574b8697fcf0eb66e55c93eaba7fd6/core/components/extsession/schema/extsession.mysql.schema.xml#L36-L40
Session cleanup time for mode «ext»: 1.3543 s — Тоже не фонтан.
Перекинул колонки github.com/vgrish/ExtSession/blob/8223ff63e5574b8697fcf0eb66e55c93eaba7fd6/core/components/extsession/schema/extsession.mysql.schema.xml#L8-L10 перед колонкой data
Стало еще получше.
Ну и подумал нам же не надо прям сразу за раз удалять все записи, пускай удаляет в несколько проходов и добавил к удалению LIMIT.
И вот тут уже стало совсем хорошо
Session cleanup time for mode «ext»: 0.0029 s
Так что с помощью тестов удалось найти слабое место и исправить ситуацию. LIMIT Подбирается опытным путем в зависимости от посещаемости сайта и мощности сервера. По умолчанию использовал 5000.
[Tue Feb 13 17:36:03 2024] [error] [client 5.142.177.134:0] PHP Fatal error: Uncaught Error: Class «uagent_info» not found in /home/p/prozon/new.prozon.ru/sys/cache/includes/elements/modplugin/41.include.cache.php:194\nStack trace:\n#0 /home/p/prozon/new.prozon.ru/sys/model/modx/modscript.class.php(76): include()\n#1 /home/p/prozon/new.prozon.ru/sys/model/modx/modx.class.php(1674): modScript->process(NULL)\n#2 /home/p/prozon/new.prozon.ru/sys/model/modx/modresponse.class.php(83): modX->invokeEvent('OnWebPagePreren...')\n#3 /home/p/prozon/new.prozon.ru/sys/model/modx/modrequest.class.php(138): modResponse->outputContent(Array)\n#4 /home/p/prozon/new.prozon.ru/sys/model/modx/modrequest.class.php(122): modRequest->prepareResponse()\n#5 /home/p/prozon/new.prozon.ru/sys/model/modx/modx.class.php(1461): modRequest->handleRequest()\n#6 /home/p/prozon/new.prozon.ru/public_html/index.php(54): modX->handleRequest()\n#7 {main}\n thrown in /home/p/prozon/new.prozon.ru/sys/cache/includes/elements/modplugin/41.include.cache.php on line 194, referer new.prozon.ru/adm/?a=workspaces
Решил установить на сайт (у сайта изменены пути) при установки оба компонента SendIt и flatfilters, assets установились в нужную папку (она у меня по другому называется) а вот core создал свою папку core. Не беда перенес в ручную) Конфик появился, могу его создать, НО не могу удалить и не могу и проиндексировать. В логах ошибка Uncaught (in promise) SyntaxError: Unexpected end of JSON input at functions.min.js:1:188
На чистую систему не ставил, сказать будет работать или нет, не могу. Если все должно работать как на видео, то это круто. Но хотелось бы развития и увидеть функционал SeoFilter и может даже какой ни будь умный поиск.
И да у SendIt почему-то по умолчанию стоит путь assents (мне кажется большинство их меняет, с целью безопасности).
А зарегистрированных около ~35 тысяч было. Это было больше года назад сейчас всех данных не вспомню, особенно по строкам
Помню только что как только я переключил с smartSessionHandler на стандартный modSessionHandler — сразу начало работать как нужно :)
Я обсужу с Заказчиком такой тест — и смогу в будущем поделиться данными.
По настройкам было выставлено так:
smartsessions_authorized_users_gc_maxlifetime = 2592000
smartsessions_bot_signatures = DataForSeoBot|Googlebot|YandexBot|DotBot|bingbot|Mail.RU_Bot|PetalBot|MegaIndex.ru|YandexDirectDyn|Adsbot|SemrushBot|facebookexternalhit|SEO|Spider|YaDirectFetcher|BLEXBot|AhrefsBot|YandexMobileBot|MJ12bot|Barkrowler|crawler|YandexMetrika|Applebot|YandexMarket|python-urllib3|vkShare|UptimeRobot|Pinterestbot
smartsessions_bots_gc_maxlifetime = 259200
На сколько строк таблица сессий набивалась?.. интересно прост :) Я точно не тестировал на объемы, у меня крутиться на сайтах с посещаемостью до 5000 в сутки — это 150 тыс. посетителей в месяц…
Ну и вообще, по поди какой-нибудь индекс нужно добавить или выборку улучшить, наверняка 1 узкое место
В каком месте тормозило?
Вопрос, а проводилось ли тестирование работы под нагрузкой?
Потому что на smartSessions при сроке жизнь 1 месяц, и большом количестве посещений (около полумиллиона юзеров в месяц) — сильно тормозило проект. Сильно это измерялось в секундах вроде. Боты исключались понятное дело.
В mFIlter2
Например. Если укажите
То для вывода нужно использовать
/assets/components/phpthumbof/cache/potreb_preview.19cb9a5166b7c3afe3d9d6c584abd4be.jpg — обычная
/assets/components/phpthumbof/cache/potreb_preview.48445472a51abf0072eea4c9ab7cf72a.jpg — Ajax
попробовал phpThumbOn он работает с mfilter2 и реально помогло far=0 спасибо!
Спасибо!
на
Вы же говорите о проблеме что фото постоянно заново генерятся. Или вы решили уже проблему и все хорошо?
Просто в phpThumbOn нет такой проблемы и прозрачность по-моему фиксилась far=0. Попробуйте.
Соответственно, мне не совсем подходит генерация миниатюр через msGallery поскольку каждый блок имеет свой размер изображений, и тогда мне для универсальности нужно генерить каждую картинку во всех возможных вариациях на сайте помноженное на 4 (webp retina/webp/jpg retina/jpg) по мне так это оч много) + адаптивные картинки, некоторые секции имеют разные картинки на десктоп/таблет/мобайл, я все это добро вставляю через
В сторону phpthumbon он работает аналогично с pthumb однако он не переваривает конвертацию png в web с сохранением прозрачности (всегда добавляет белый фон)
есть 2 пути.
Минишоповский (заранее сгенериной) ИЛИ phpThumb(Of|On|и т.д.) снипет-пакетом.
В любом случае используется расширение входящее в MODX — pThumb. И что минишоп, что пакеты phpThumb используют эту библиотеку.
Поэтому если решать через минишоп, то вписать все настройки необходимых миниатюр в спец. конфиг и перегенерировать это дело.
Либо без минишопа использовать, например phpThumbOn для геренрации миниатюр по факту.
Если сайт мелкий совсем — до 100 товаров, то не критично и можно использовать последний вариант.
НО если товаров много и планируется увеличение, то генерировать ЛУЧШЕ фотки заранее.
Для одной фотки в админке можно сделать так:
Для большого кол-ва есть в новом минишопе автообновление фоток.
Так же в handyShop теме так же есть перегенерация всех фоток на сайте.
Для больших магазинов она займет время, если требуется прям кординально все поменять по превьюшкам.
Как-то так.