Что делает Shadow DOM
- Глобальный CSS вашей темы не может переопределить дизайн Upcart.
- Стили Upcart также не будут мешать вашей теме.
- Корзина остаётся единообразной на разных устройствах и темах.
Как это происходит
Технические аспекты
- Используйте
upcartDocumentOrShadowRootпри обращении к элементам внутри Upcart. - Используйте
documentпри обращении к элементам вне Upcart (например, к шапке или подвалу вашей темы Shopify).
Устранение неполадок и ограничения
Однако всегда могут быть сценарии, в которых проблемы всё же возникают:
- Приложения ценообразования: если другому приложению нужно напрямую изменять цены или поведение оформления заказа внутри корзины, Shadow DOM может это затруднить, поскольку скрывает внутреннюю структуру Upcart от внешних скриптов.
- JavaScript на уровне темы: пользовательские скрипты, использующие
document.querySelector(), могут не находить элементы корзины при включённом Shadow DOM.