Mr.Prop · 09 сентября 2019, 01:46 Искал ответ почти неделю. Прошерстил весь сайт вдоль и поперёк. Пробовал переопределить класс корзины и ещё кучу вариантов с сайта. Очень много вариантов и все решают какую-то задачу вместе с обновлением корзины. А если у меня задача другая, то… И тут пришла мысль: а почему бы не перезагрузить корзину средствами JS при наступлении события? А какое событие у нас наступает? Правильно — изменяется количество ВСЕГДА когда мы что-то делаем в корзине. В общем берём файл по адресу assets/components/minishop2/js/web/default.js или его изменённую версию (если она у вас есть) и ищем строки: if (status['total_count'] < 1) { location.reload(); }В этих строках написано: если количество меньше 1 (одного), то перезагрузить страницу. Меняем на строки: if(window.location.pathname == "/cart"){ location.reload(); }В этих строках написано: если адрес раздела сайта, в котором мы находимся, совпадает с /cart то перезагрузить страницу. Полный адрес у меня выглядит так: мой-сайт.ru/cart Соответственно, если адрес мой-сайт.ru/korzina то новая строка будет выглядеть if(window.location.pathname == "/korzina"){ location.reload(); }Теперь после обновления количества хоть на мониторе мышкой, хоть на телефоне страница будет перезагружена и мы увидим её обновлённый вариант. А если мы будем находиться на любой другой странице сайта, то условие не будет срабатывать и всё будет работать как и раньше. Если у адреса после названия раздела есть «хвост» типа мой-сайт.ru/korzina&что-то#еще-что-то то смотрите в поисковике функцию Location JS P.S. Совсем не программист, просто интересуюсь. Надеюсь, что кому-то сэкономил время. Посмотреть как работает можно здесь Вопросы / Динамическое обновление основной корзины 6 0 1
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
А если у меня задача другая, то…
И тут пришла мысль: а почему бы не перезагрузить корзину средствами JS при наступлении события?
А какое событие у нас наступает? Правильно — изменяется количество ВСЕГДА когда мы что-то делаем в корзине.
В общем берём файл по адресу
assets/components/minishop2/js/web/default.js
или его изменённую версию (если она у вас есть)
и ищем строки:
В этих строках написано: если количество меньше 1 (одного), то перезагрузить страницу.
Меняем на строки:
В этих строках написано: если адрес раздела сайта, в котором мы находимся, совпадает с /cart то перезагрузить страницу.
Полный адрес у меня выглядит так:
мой-сайт.ru/cart
Соответственно, если адрес
мой-сайт.ru/korzina
то новая строка будет выглядеть
Теперь после обновления количества хоть на мониторе мышкой, хоть на телефоне страница будет перезагружена и мы увидим её обновлённый вариант.
А если мы будем находиться на любой другой странице сайта, то условие не будет срабатывать и всё будет работать как и раньше.
Если у адреса после названия раздела есть «хвост» типа
мой-сайт.ru/korzina&что-то#еще-что-то
то смотрите в поисковике функцию Location JS
P.S. Совсем не программист, просто интересуюсь.
Надеюсь, что кому-то сэкономил время.
Посмотреть как работает можно здесь