Александр Туниеков
С нами с 19 декабря 2015; Место в рейтинге пользователей: #11Вчера в 12:55
Смотри плагины ну и край создай свой плагин к примеру CleanOutput и привяжи к событию OnWebPagePrerender
$output = &$modx->event->_output;
$...
Пять пустых строк в начале кода любой страницы! 2
Вчера в 09:13
А я правильно понимаю, что это какая-то недоработка со стороны MODX?это можно назвать архитектурной недоработкой (или «техническим долгом»), которая с...
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 6
19 января 2026, 19:43
Спасибо! Попробую.
Доступ к репозиторию MODX на digitaloceanspaces.com заблокирован для российских IP? 3
19 января 2026, 18:57
Получилось так:
&sortbyTV=`FIELD(availability, 1,0,3,2 )`
Как задать ручную сортировку в mFilter2 1
19 января 2026, 09:29
зайти в настройки компонента, убрать значение у «yasmartcaptcha_service_js», а скрипт подключить вручную
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 34
18 января 2026, 22:14
Что это. Я к примеру давненько пользуюсь (для сайтов без коммерции / без minishop). Правда вместо этого плагина используется обычно easyComm
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 4
18 января 2026, 21:56
Замените в /core/components/fetchit/src/FetchIt.php 81-83 строки:
if (!$_SESSION['fetchit_called']) {
return;
}на
if (empty($...
Fetchit и ошибка Undefined array key "fetchit_called" 2
17 января 2026, 11:42
Новый mFilter уже объединен с SeoFilter и содержит его SEO функционал. Компонент базово готов, уже на стадии тестирования.
mFilter — будет фасетны...
mSearch для MODX3 и MS3 - уже в modstore.pro 9
Мне getObject нужен. Чтоб проверки доступа, все обработанные поля были. И чтоб не писать простыню кода каждый раз когда какое-то значение из базы нужно.
$pdo->getArray limit добавляет, но писать ['pagetitle'] раздражает. ->pagetitle короче. И создавать $pdo каждый раз надо.
Ваш modHelpers object limit ставит. И код писать короче. Но ради 1 функции грузить кучу кода явно не стоит. Загрузки 516. Не слишком популярная библиотека. Код написанный другим человеком и так бывает сложно разобрать и, чтоб добавить еще не популярный синтаксис должна быть веская причина. Ну и с первого раза библиотека просто не понравилась.
Так почему в getObject limit=1 не добавили? Кто-нибудь знает?
вот добавить $criteria->limit(1) после этой строки github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/xpdo/om/xpdoobject.class.php#L423
и этой github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/model/modx/modaccessibleobject.class.php#L96
лог запросов mysql
SELECT… FROM `modx_site_content` AS `modResource` WHERE `modResource`.`parent` = 1
То есть, getObject получает все, а потом грузит первую запись :-(.
@Сергей Шлоков А зачем так сделано?? Память же все отстальное занимает.
И как теперь жить-то :-(. И limit через $query = $modx->newQuery долго добавлять.
2. Так контент и в tv и msProductData например. Все импортировать заколебешься.
3. Ну я против того чтобы стаскивать. У самого есть платные компоненты.
4. Хм… Абы какой контент не подойдет. Так что не уверен что найду.
4.1. Компонент, думаю, мне особо не нужен, но, вообще, оптимизацию сайта у меня спрашивают и понимать насколько с этим PageSpeed справляется вообще нужно.
То есть, попадется задача на оптимизацию и мне придется, либо покупать кота в мешке на не малые деньги, либо тырить. Вообще не айс :-(.
2 импорт базы сломает тестируемый компонент
3 А если заморачиватся, чтоб не сломало, то тогда уж проще стащить компонент с тестового сайта и спокойно протестить у себя.
4 Хотя рабочий контент и нужен для теста, но вообще-то не думаю, что владельцы сайта одобрят, чтоб их контент перетаскивался на какой-то левый сайт.
Ну 1 контент разбросан по tv и шаблонам. То есть даже 1 страницу можно долго копировать.
И 2 под контентом имел в виду контент всего сайта.
Интересно как можно запихать рабочий сайт на тестовый, чтоб протестить компонент.
Выполняется не быстрей, чем
И у тебя в файле $file уже типо кеш. Зачем его кешировать еще раз на странице. Наверно, можно было 2 ресурс, который показывается, сделать статическим и прикрепить к нему $file.
И getCollection и getObject по $criteria готовят запрос в mysql. Для такого критерия он будет примерно таким для getCollection и $getted_id=2:
А getObject просто добавит limit=1
Данные обрабатывает сортирует mysql сервер. Он это делает эффективнее, чем мы можем сделать в php. И в getObject они точно не сортируются.
Так вот, отличие getCollection и getObject ДЛЯ ДАННОГО ПРИМЕРА то, что getCollection заберет все записи с базы и займет кучу памяти, а getObject только одну и памяти понадобиться гораздо меньше.
И getCollection и getObject кроме запроса в mySQL делают, что-то еще, например проверяют есть ли доступ у юзера к объекту, но что конкректно я не разбирался и разбираться, в общем-то, не собираюсь :-). Только если что-то не так пойдет смотрю код функций. Важно только то, что getCollection и getObject выгружают данные с базы в виде xpdo объекта. Делать mySQL запросы напрямую не слишком удобно. Но если скрипт тупит или по памяти вылетает, то использую вместо getCollection getIterator или $modx->query($sql).
sql вам знать надо! учите.
Придумать бы, для подобный компонентов, какой-нибудь вариант покупки типа триала.
Выводим в плейсхолдеры и
Может конечно решение получше, но мне только такое пришло в голову.
Можно же просто так
Все равно и getCollection и getObject просто готовят запрос mysql Ну грубо говоря :-(
1.7729151 немного. но почему-то временами втупляет до 10с
Что у вас такого тяжелого на странице выполняется? Хочется сделать какое-нибудь универсальное решение проблемы, если это возможно. Действительно тяжелые это фильтры товаров. Какие еще тяжелые сниппеты или случаи есть?