Что делает перехват
- Останавливает событие, чтобы ничего другое на странице не обработало этот клик.
- Отправляет добавление в Shopify сам.
- Открывает drawer Aftersell Cart.
Зачем это нужно
Чего это стоит
- события
add_to_cartотсутствуют в GA4, Meta или TikTok - приложение подписок или комплектов работает на странице товара, но не через корзину
- ваш собственный
addEventListenerна форме никогда не срабатывает
Когда Aftersell не перехватывает
- Он распознаёт корзину вашей темы. На темах, с которыми Aftersell умеет работать, он делает собственную корзину темы неактивной вместо блокировки события, а затем позволяет теме выполнить добавление обычным образом. Ваши скрипты работают, как всегда работали. См. Какие темы ниже.
- Форма не добавляет позицию. Форму без варианта
idи безitems[]он не трогает. - Вы отказались от перехвата одним из способов, описанных ниже.
Какие темы Aftersell распознаёт
Aftersell сопоставляет темы по тому, как они устроены, а не по названию, поэтому кастомная тема, ответвлённая от любой из этих, обычно тоже распознаётся, включая приватные сборки, которые Aftersell никогда не видел.
Верно и обратное: сильно кастомизированная сборка может отойти от своего исходника настолько, что Aftersell её больше не распознаёт, хотя тема всё ещё называется «Dawn». Присутствие в этом списке делает распознавание вероятным, но не гарантированным.
Ваши варианты
Прежде чем выбрать: что меняется
Откроется ли ваша корзина?
/cart/add, /cart/change, /cart/update и /cart/clear на вашем собственном домене. Приложение, добавляющее через собственный эндпоинт и синхронизирующее корзину потом, этому не видно. Откройте корзину сами, когда добавление этого приложения завершится:
open_on_add_to_cart: 'never', drawer никто не откроет. Это работа согласно конфигурации.
Откроется ли также корзина темы?
/cart, а Aftersell открывает свой drawer по замеченному запросу. Это две корзины, и именно ради этого существует перехват.
Если так происходит, у вас есть три варианта: оставить перехват включённым для этой формы, использовать более узкий отказ, не покрывающий формы, которые вызывают проблему, или самостоятельно остановить собственную корзину темы в коде темы.
Это касается только добавления в корзину. Пропуск иконки корзины мимо Aftersell с помощью класса
aftersell-cart-wont-open-cart — это другое: клик по иконке корзины не отправляет запрос, поэтому Aftersell нечего наблюдать, и drawer не откроется. См. ниже.Для одной формы: правило в коде
true для форм, которые вы хотите оставить в покое:
true, пропускает эту форму. Подробности в Хуках.
Для одной формы: класс в вашей теме
aftersell-cart-skip-atc в вашей теме:
Для submit формы класс должен быть на самом элементе form. Родительский
div не сработает. Для кнопки, добавляющей в корзину без submit формы, класс может быть на кнопке или любом элементе вокруг неё.Для всего магазина: отключить перехват
Иконка корзины обрабатывается отдельно
/cart. Чтобы оставить одну иконку или кнопку в покое, добавьте к ней или к любому элементу вокруг неё класс aftersell-cart-wont-open-cart:
/cart. Подробности в Configure.
Чтобы поменять то, какие элементы открывают корзину, а не отключать их, используйте Cart settings → Advanced → Cart icon selector вместо редактирования темы.
Что дальше
- Configure: все опции SDK, включая упомянутые здесь.
- Хуки: контроль на уровне формы и позиции.
- Открыть drawer из page builder: для Replo, PageFly, GemPages и кастомных кнопок, добавляющих в корзину своим способом.