Конфигуратор создания заказа Drupal 7

Поступило задание сделать конфигуратор, позволяющий пользователю сформировать корзину товаров. Товары разделены по нескольким группам, внутри группы единичный или множественный выбор. Было принято решение создавать элементы управления "с нуля".  Кнопки - радиобоксы и чекбоксы - были нарисованы и начата разработка скриптов для управления поведением кнопок. Корзина товаров имела двухстороннюю связь с группами товаров: при удалении товара из корзины, менялась ситуация в группе товара. Дополнительно, контролировалось пуста ли корзина (с выдачей соответствующего сообщения) и расчитывалась итоговая сумма заказа. Были разработаны дополнительная навигация по группам товаров - кнопки "Вперед" и "Назад".

При переходе из главной страницы конфигуратора на страницу товара, состояние заказа переносилось и устанавливались соответствующие статусы для товара страницы и других товаров группы. Состояние хранилось при помощи кукисов (cookie) в виде перечня идентификаторов объектов. При загрузке эмулировался переход между группами товаров и нажатие на контрол.

Система сделана для нескольких языков, доступна мультивалютность с автоматической подкачкой курса ЦБ и перерасчетом суммы в основной валюте. Конфигуратор был создан за сжатые сроки и успешно показал себя на практике.