Валерий

Валерий

С нами с 12 октября 2015; Место в рейтинге пользователей: #588
14 марта 2022, 11:29
0
Спасибо, изучу сейчас.
08 марта 2022, 12:37
0
Это понятно, но у меня задача сделать так, чтобы ссылка, отображаемая в браузере была вида:
<a href="[[~145]][[+alias]]">[[+tag]]</a>
Но, при этом, компонент корректно обрабатывал вывод тега.
Делал на этом примере itchief.ru/modx/tagger#comment-1361
21 ноября 2021, 20:20
1
0
Проблему решил. Добавил в вызов фильтра:
&leftJoin=`{"Remains":{"class":"msprRemains","on":"msProduct.id = Remains.product_id AND Remains.remains > 0"}}`
&loadModels=`msproductremains`
&groupby=`msProduct.id`
&select=`{"msProduct":"*","Remains":"SUM(Remains.remains) as remains"}`
20 ноября 2021, 15:14
0
В одной из веток комментариев уже задавал вопрос, но лучше опишу проблему полнее, так, как ее вижу сейчас:

1. Для вывода товара на сайте используется компонент msFilter2.
2. Для отслеживания остатков компонент msProductRemains
2. В карточках товара важно указывать возможность «Купить» или статус «Нет в наличии». Для чего используется конструкция:
Вызов сниппета, в каждой карточке (в чанке msProducts.row):
[[!getRemains:toPlaceholder=`remains`? &id=`[[+id]]`]]
И условие:
[[!+remains:lt=`1`:then=`<div class="no-remains">Нет в наличии</div>`:else=`<span><button class="btn btn-primary list-prod__submit" type="submit" name="ms2_action" value="cart/add">Купить</button></span>`]]
Условие срабатывает прекрасно, если просто зайти на страницу каталога.
Однако, на странице выдается 20 товаров из множества, таким образом есть еще и пагинация. Если переключаться через пагинацию, то условие выше не работает, потому что в каждую карточку загружается значение первой карточки. Если обновить страничку, то все считается корректно.

Я так понимаю, что здесь мешает сам фильтр. Может быть кто-то встречался с такой проблемой и решил ее?
20 ноября 2021, 14:57
0
Есть уточнение. Проблема в кнопках пагинации. Т.е, если перейти просто на ссылку на странице, то все значения подгружаются верно, а если переходить по кнопкам page.nav, то без обновления страницы значение одно на все карточки.
18 ноября 2021, 21:42
0
Сергей, добрый вечер.
Спустя несколько лет у меня вновь возникли проблемы с выводом кнопки «нет в наличии» в данном компоненте.
Несмотря на "!" в вызовах сниппета и плейсхолдера, при первой загрузке страницы из 12 товаров, каждому товару присваивается количество первого в списке. Если страничку перезагрузить, то все работает корректно.
Как такое может быть? Могу ли без принудительного обновления страницы я добиться верных значений?
21 апреля 2021, 16:29
0
А подскажите, пожалуйста, про сумму скидки.
Кроме этого:
<div class="ms2_total_discount">{$total.discount}</div>
Еще какие-то классы нужны, чтобы обновлялась скидка динамически? А то у меня в этой обертке, при изменении количества товара со скидкой, сумма скидки просто в ноль превращается. Также, если использовать промокод из «msPromoCode2», сумма становится нулем. После обновления страницы все высчитывается корректно.
Ошибок JS в консоли нет.
21 апреля 2021, 14:28
0
Да, это я был не прав.
Общую сумму не так выводил. Сейчас все заработало, спасибо за терпение.
21 апреля 2021, 13:58
0
Вероятно это я туплю. Но обновил еще раз минишоп (переустановил), перезаписал чанки (17 штук). Версия минишопа 2.8.3. Но в чанках не появилось значений с словом «discount».

Также, оказалось, что вызов discount_price пишет о скидке только тогда, когда я использую промокод. Если же промокод не использован и скидка сделана средствами самого магазина, то там стоит «0».

Вот здесь — new.legendaryleonidas.ru/onlajn-magazin/pasha/nabor-dora-s-assorti-shokoladnyh-yaic.html (если добавить этот товар и перейти в корзину).
20 апреля 2021, 16:44
0
Это чудесно, спасибо!
В чанках после обновления не нашел, потому и спросил.

Все прекрасно работает :)
20 апреля 2021, 16:09
0
Насколько я понимаю, данный функционал так и не был добавлен, верно?
Просто, чтобы не изобретать велосипед спрашиваю.
15 ноября 2020, 11:10
0
В любом случае спасибо за ответ :) С новыми работами будет проще.
30 июля 2020, 20:39
0
Похоже, что была проблема в сопоставлении базы данных. Нужно было ставить utf8_general_ci, а было utf8mb4.
Просто также не работал вновь установленный Redirector, но там хоть по логам стало понятно, в чем проблема.
30 июля 2020, 19:55
0
Такая же проблема сегодня обнаружилась. Правда, я впервые поставил AutoRedirect.
В логах ничего нет.
16 января 2020, 03:42
0
Столкнулся на днях с такой же проблемой. Бился пару часов, пока не понял, где ошибался. В итоге, создал чанк для параметра tpl у pdoSitemap:

<url>
<loc>[[!slash_out? &slash=`[[+url]]`]]</loc>
<lastmod>[[+date]]</lastmod>
<changefreq>[[+update]]</changefreq>
<priority>[[+priority]]</priority>
</url>
Где «slash_out» — сниппет:

if (empty($slash)) { return 'Пустая строка'; }
$slash = preg_replace("#/$#", "", $slash);
return $slash;
И все работает.
21 августа 2019, 22:48
0
Проблема решена, благодаря вот этому посту — forums.modx.com/thread/92071/pdoresources-and-tvfilters#dis-post-513666
Получается, что мой TV на этапе вывода все-таки не был в unix формате, хотя уже на выходе был в нем.
21 августа 2019, 21:41
0
tvPrefix, как я понимаю, тут не при чем. Он в параметре where не используется.

А про "документы\мероприятия" — это я так про ресурсы написал. Сайт с анонсами мероприятий.
12 февраля 2019, 18:38
0
Такой способ не работает «до конца». Когда страница обновлена, то все хорошо. Когда добавляешь еще один товар, то миникорзина показывает вновь общую сумму — после обновления страницы все опять верно.
Тоже дошел до такого «способа», но для странички заказа… Там такая же ерунда, при просчете итераций.
06 февраля 2019, 13:30
0
Свою проблему решил в итоге, просто скопировав с нуля родной чанк и удалив аккуратно лишнее, проверяя на каждом удалении работу.
Пришлось внутри чанка организовать две колонки — после этого все заработало.
Похоже, одну из оберток все-таки терял.
11 января 2019, 19:03
0
Возможно вы сможете подсказать, что именно вы дописали, чтобы скрипт отрабатывал корректно?
Я дополнил строку
'msOrderProduct.product_id' => $product->id,
вот так:
'msOrderProduct.product_id' => $modx->resource,
И даже все заработало (зарегистрированный пользователь может скачать файл), а анонимный только купить.
Однако, зарегистрированный пользователь теперь может скачать любой файл, а не только тот, что был им куплен… Как вы это обошли?