FAQ

  • Вопрос

    Ответ

  • Библиотеки используемые в Common.js

    Lodash доступен глобально, можно и нужно пользоваться возможностями этой библиотеки при разработке.

    Имена переменных которые Common.js присваивает в глобальную область видимости:

    • Cart
    • Shop
    • Products
    • Compare
    • Site
    • AjaxSearch
    • ajaxAPI
    • Template
    • EventBus

    В проектах где используется Common.js нельзя переопределять данные переменные, так же при подключении Common.js к работающему сайту нужно проверять переменные на переопределение и особенно обратить внимание на переменные cart и site.

    Готовые решения Common.js для компонентов магазина работают по следующей логике:

    1. В разметку компонента проставляются обязательные data атрибуты. В эти атрибуты из liquid передаются данные из магазина, а так же есть data атрибуты которые реализуют действия (кнопки добавить или удалить товар из корзины, переключение модификаций, изменение quantity и т.д.).
    2. Common.js при загрузке страницы пробегает по проставленным data атрибутам и на основе данных инициализирует скрипты для работы компонентов. 
    3. Практически на каждое взаимодействие с компонентами реализованными с помощью фреймворка (обновление корзины, переключение модификации и т.д.) можно повесить обработчик, в callback которого приходит информация о событии, например при обновлении корзины в callback попадает информация о актуальном состоянии корзины, исходя из чего можно сделать динамический виджет корзины или обновление информации на странице корзины без перезагрузки страницы.

    Так же стоит ознакомиться с подробным описанием API фреймворка Common.js.

    API фреймворка предоставляет удобные и протестированые методы, для разработки своих компонентов.

    Но все обращения к API нужно производить после собития DOMContentLoaded оно же $(document).ready(function() {}), $(function() {}).


Этот вебсайт использует cookies с целью улучшения функциональности, для удобства и сбора статистических данных. Если Вы согласны с использованием cookies, пожалуйста, нажмите «Да, я согласен». Политика конфиденциальности