Правила доработки решения

Чтобы сохранить возможность обновляться, а также не потерять в скорости работы, нужно придерживаться следующих правил:

  1. Внешние библиотеки (css, js):
    • При подключении внешних библиотек размещать их только на тех страницах, где они необходимы.
    • При возможности размещать js или css-код inline'ом (если размер позволяет).
    • Пользоваться нативным JavaScript. Подключение библиотек типа jQuery и им подобных может сильно сказаться на клиентской оптимизации сайта. Подключения таких библиотек допустимо на страницах, где скорость работы не так критична (например, личный кабинет).
    • Если логика работы позволяет, то подгружать библиотеки асинхронно.
  2. Графика. Подключаемые изображения должны быть оптимизированы. Также лучше использовать современные форматы изображений, либо заменять их на SVG. В определенных моментах необходимо преобразование изображений в base64 и подключение их inline'ом (если размер картинок мал, то это позволит уменьшить количество запросов к серверу).
  3. Разработка.
    • Кеширование. Использовать механизмы кеширования платформы и языка PHP. Если используется тегированный кеш, то сбрасываться должен только при изменении важных данных (в противном случае - по истечении указанного времени).
    • База данных (инфоблоки).
      • Не удаляйте служебные свойства каталога (начинаются с кода AST_).
      • В инфоблоке "Правила отображения блоков с товарами" не удаляйте разделы. Они влияют на логику отображения блоков с товарами.
      • Не изменяйте символьные коды инфоблоков. Решение не использует прямые указания ID инфоблоков, а выбирает их на основе кода и привязки к сайту.
    • Изменение параметров компонентов решения:
      • Параметры компонентов (например, bitrix:catalog в папке /catalog/) необходимо менять через режим просмотра исходного кода. При визуальном режиме редактирования возможен сброс некоторых настроек (например, типы цен), которые приведут к неработоспобности каталога.
      • Решение построено таким образом, чтобы не было необходимости править настройки компонентов. Все основные параметры вынесены в настройки модуля. Меняйте настройки компонентов только в случае необходимости.

Дополнительно в решении есть следующие возможности:

  1. Файлы custom.css в основной и мобильной версии сайта. Содержимое данных файлов подключается inline'ом. С помощью этих файлов можно переопределить существующие стили сайта или дописать свои. В файле должны размещаться только самые необходимые правила.
  2. Возможность переопределения методов модуля astdesign.climate. Практически в каждом методе есть проверка на наличие кастомного метода. Если такой метод существует, то будет вызван он, а не базовый. Для этого нужно в папке /bitrix/modules/astdesign.climate/lib/custom повторить структуру оригинального метода, но namespace указать как "\Astdesign\Climate\Custom..."
  3. Модификация компонентов решения. Для этого нужно использовать встроенные возможности платформы, именно папку /local/components/.

Примеры решения некоторых задач:

Как подключить свой css или js без модификации шаблона сайта?

Для этого вам достаточно навесить обработчик события на пролог или эпилог и использовать метод \Bitrix\Main\Page\Asset::addString для подключения произвольной строки.

Также есть "обходной вариант" - использовать настройки модуля: Но его можно использовать если подключаемый код должен присутствовать на всех страницах сайта.

Как переопределить метод модуля?

Пример решения задачи изображён ниже. В данном примере нужно было модифицировать код, выводящий стоимость доставки на странице товара, согласно логике уже существующего сайта. code