Функционал JS. Глобальные объекты
InSales
является контейнером для всего базового функционала каркаса
Site
содержит общие параметры, взятые из liquid
- Site.template - текущий шаблон страницы
- Site.langauge - текущий язык, является ли он языком по-умолчанию для магазина
- Site.account - общая информация по магазину
- Site.client_group - общая информация по группе посетителя сайта
- различные настройки темы, которые могут потребоваться в работе скриптов
Важно
Если вы хотите получить доступ в js к различным данным, доступным только через Liquid, опишите их получение в файле сниппета init_js.liquid в кастомное поле объекта Site.
Никогда не используйте liquid в файлах скриптов.
Это связанно со следующими причинами
- некоторые теги liquid не будут корректно работать в js файлах.
- используя теги liquid в js, вы можете получить медленную загрузку страниц. Это может произойти из-за того, что Вы примените тег liquid, который может отдавать разные данные для каждой страницы магазина. Как следствие, платформа будет получать команду на сборку нового экземпляра js-файла с новыми данными из Liquid вместо того, чтобы взять ранее собранный экземпляр js-файла.
Cart, Compare и прочие.
Экземпляры классов, предоставляющие общую базовый функционал и упрощающие взаимодействие c ним.
Инициализация экземпляров описывается в соответствующих для функционала файлах.
Например, Cart - в cart.js, Comapre - compare.js