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

Всего 126 102 комментария

Vaha30
Vaha30
Помимо миникорзины также не обновляется статус обычной корзины на странице при изменении колличества товаров. Сообщение о том, что изменения внесены появляется, но общее количество товаров и общая стоимость не изменяются. Все нормализуется только при обновлении страницы.

Может что с кэшированием? Помогите, плз…
Vaha30
Vaha30
Проблема частично устранена путем корректировки сниппета minishop, однако по прежнему при добавлении товара в корзину миникорзина показывает 0 товаров на сумму 0 руб. После перезагрузки страницы показывает все как надо.
Василий Наумкин
Василий Наумкин
Вопрос решается собственным сниппетом.

Для выборки дочерних ресурсов категории есть $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