Сайт и дилерская сеть дистрибьютора Hyundai в Беларуси
Брифуем клиента
Важно было понять как клиент собирается работать с сайтом. Какая информация обновляется часто, какая напонляется один раз и не трогается годами. Ключевые моменты:
Планируем структуру проекта
Для технической реализации хватило движка Битрикс на PHP и MySQL и шаблонов на HTML5. Данный проект по своей сложности идеально подходит под этот движок.

Структура автомобиля

Про структуру автомобиля подробнее. У клиента уже была проблема с обновлением страниц, важно ещё на этапе проектирования закладывать корректное хранение данных, чтобы при реализации модели можно было обновлять из админки.
Этого можно добиться единственным способом — разбить каждую страницу модели на отдельные блоки и в последующем описать каждый из них как набор сущностей, управляемых из админки.
Как видите, такие вещи закладываются ещё на этапе структуры, до фактического начала работ.
Структура хранения характеристик автомобиля

Сложностью для формирования таблицы цен и спецификаций, без ковыряния html-кода, было наличие большого количества зависимостей. Например, у каждой модели есть свои модификации, у каждой модификации есть свои комплектации и есть ещё пакеты опций, которые можно докупать в зависимости от выбранных моделей. Архитектура должна учитывать вариативность и все связи.
Все начинается с конца — сначала идёт модель автомобиля, и к ней определяется наборы возможных комплектаций и модификаций. Кроме этого, модификации имеют наборы комплектации и технические характеристики. Комплектации в свою очередь уже имеют наборы опций и пакеты дополнительных опций. Для построения правильной цепочки я сделал проработал иерархию, показанную на схеме:

Работа с дизайном
По аналогии с кейсом VW мы разработали сетку разных виджетов, которые позволили сделать нетиповую подачу контента.
Каждая страница имеет возможность указывать несколько стилей подачи хедера, а также имеет сетку чередующихся блоков для работы с контентом.

Для автомобилей были рендеры с разных ракурсов, это позволило собрать для каждой машины просмотр в обзоре 360 градусов и с разными цветами.

Реализация форм и REST-api
для работы с 1С
На сайте используется несколько форм: заказать звонок, заявка на ТО, заявка на сервис, купить автомобиль, заявка на трейд-ин.
Формы мы готовим как конструктор, это значит, что сначала рисуются стили для всех элементов формы, например: поле ввода, многосрочное поле ввода, чекбокс, выпадающий список и остальное.
Далее формы собираются как конструктор. При желании клиент может их и сам собирать.

REST-api и интеграция с 1С
Изначально формы отправляли заявки на эл. почту, но это неудобно. Нас попросили разработать архитектуру и правила обмена сайта с 1С.
Основные принципы работы с API:
- любые запросы к API возможны только через безопасное SSL соединение на адрес https://-------------
- сервисы API доступны только с сервера hyundai.by (93.125.99.86)
- информация в API актуальна исключительно в момент выполнения запроса
- все ответы API предоставляются в формате JSON
- кодировка для отправки/получения данных - UTF-8

Работа с дилерами

Хотя в целом работа с дилерами построена по схожей схеме, как для VW, все же она имеет свою особенность.
Реализация разделенных сайтов накладывает сложности при обновлениях. Пример, вы обновили шаблоны навигации, и теперь вам предстоит это сделать ещё 6 раз для каждого дилера.
Мы повесили на все сайты единый шаблон, поэтому, несмотря на то что у каждого сайта своя база данных, шаблон у них единый, и при обновлении головного сайта обновляются и дилерские.
