Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 113 комментариев

Василий Наумкин
Василий Наумкин
Вопрос решается собственным сниппетом.

Для выборки дочерних ресурсов категории есть $modx->getChildIds();

А для выборки товаров из мультикатегорий, в классе miniShop сеть метод getGoodsByCategories — https://github.com/bezumkin/miniShop/blob/master/core/components/minishop/model/minishop/minishop.class.php#L238

Вот их и нужно использовать.
Иван Брежнев
Иван Брежнев
Отправил на почту свой вариант, и еще я не использую сниппет phpthumbof, а написал свой маленький который работает с Imagick, он при аплоаде изменяет сразу фотку на нужные размеры, а если вы заливали через фтп, то в вызове сниппета просто указываете размеры изображений, &size=`150x150`, и все, он создает папку thumbs там где лежит фотка и туда записывает уменьшенное изображение
Denys Butenko
Denys Butenko
на странице происходит вызов:
[[!msGetGoodsPlaceholders]], [[msGetGallery]], [[!LikeDislike]], [[getRelated]], [[TvList]], [[getViewed]] и еще несколько чанков. Проблему нашел: msGetGallery увеличивает загрузку на 4сек, getViewed еще где-то на 1.5с и getRelated 1.5с. Выключив всё это, результат 1сек без кэша.
Valentin Rasulov
Valentin Rasulov
1) вариант &startId=`[[*id:is=`5`:or:is=`6`:then=`[[*id`]]:else=`*parent`]]`
5 и 6 это и есть город1 и город2

2) вариант. В основном если у вас город содержит поткатегории, логично тогда что город, это контейнер а подготегории, это ресурсы не являющии контейнером. Тогда
&startId=`[[*isfolder:is=`1`:then=`[[*id`]]:else=`*parent`]]`
Иван Брежнев
Иван Брежнев
Я думаю нужно написать плугин на событие OnSiteRefresh который будет ходить по всем опубликованным ресурсам. Но это накладно как мне кажется. И если у вас рендер одной страницы достигает 8 сек. ты можно легко упереться в time limit
Григорий Розенбаум
Григорий Розенбаум
Только как три дня разобрался с проблемой из за APC… Делаю сайт на рево, инет-магазин (используется шопкипер, мини-шоп пока не тестировал), домашний образ убунты — все окей, а на сервере не работает (петерхост) корзина- или не обновляется или во время добавления ошибка. После нескольких дней мучений наконец-то вставил в htaccess apc.cache_by_default off и все заработало!
А может быть просто надо было изменить класс в натройках Modx? Или это все таки косяк разработчиков? Если да — надо на форме попросить, чтобы они доработали скрипт для работы с php-apc.