Интернет-магазин промышленного оборудования ГК «Эльф»
ООО «Группа Компаний Эльф» занимается производством и продажей сантехнического, отопительного и промышленного оборудования. Компания начала свою деятельность в 1995 году. Миссия компании в надежном обеспечении клиентов и партнеров предоставляемой продукцией. ГК Эльф является владельцем собственных брендов, под которыми выпускается большая часть ассортимента. Так же выступает официальным дилером и эксклюзивным дистрибьютором на территории России некоторых торговых марок. В компании свыше 400 сотрудников, филиалы в 11 городах России, продажи осуществляются по всей России, а также в Белоруссию и Казахстан.
Выполнили для клиента

Цели и задачи проекта
Главной задачей проекта было создать интернет-магазин, обладающий удобным в использовании интерфейсом и следующими функциональными возможностями, направленными на увеличение продаж:
- управление ценообразованием на товары в зависимости от региональной принадлежности покупателя
- разграничение основного ассортимента компании и ассортимента компаний-партнеров
- быстрый поиск нужных товаров из собственного ассортимента компании или из ассортимента партнеров компании
- совершать покупки большого количества товаров, анализировать заказы с целью выявления наиболее часто покупаемых товаров, совершать повторные покупки наиболее часто покупаемых товаров
- формировать заказ из позиций основного ассортимента компании на основании загружаемых на сайт электронных таблиц
- синхронизация с 1С
Выполненные работы
В процессе работы над проектом были реализованы следующие функциональные возможности на сайте:
- Редизайн каталога товаров. В рамках данной задачи проведены улучшения пользовательского интерфейса, а также добавлен функционал, повышающий удобство использования интернет магазина.
- Улучшена работа с корзиной: добавлен инструментарий удаления корзины пользователя с возможностью ее последующего восстановления.
- Доработан процесс оформления заказа, добавленена обратная связь с пользователем.
- Разработана справочная система для пользователей, обучающая их работать с сайтом компании.
- Усовершенствован существующий и введен новый механизм увеличения продаж: разработана система, рекомендующая клиенту дополнительные и схожие товары в процессе просмотра и покупки товаров на сайте, введен инструментарий просмотра и анализа наиболее часто покупаемых товаров конкретным клиентом.
- Модернизирован личный кабинет: добавлен функционал создания черновиков заказа и наполнения корзины из черновиков заказа, добавлен функционал, позволяющий менеджерам регистрировать своих дистрибъютеров, введен интерфейс управления сервисами сайта, например, пользователь может отключить механизм рекомендаций дополнительных товаров.
- Реализована интеграция с внешним сервисом, позволяющая поддерживать взаимосвязь между клиентом и его менеджером, работающая с учетом привязки пользователя к менеджеру и филиалу магазина.
- Усовершенствована работа, а также введен дополнительный функционал во взаимодействии сайта с внутренними информационными сервисами компании (выгрузка пользователей, цен, заказов, ассортимента).
- Внесены доработки в механизм ценообразования товаров на сайте в зависимости от того, к какому филиалу магазина привязан пользователь.
- Введен механизм, облегчающий покупку пользователем большого количества товаров. Принцип работы состоит в том, что пользователю предоставляется инструментарий, позволяющий генерировать всю номенклатуру товаров каталога компании в excel-файл, затем пользователь заполняет нужное количество каждого товара и отправляет excel-файл на сайт. После отправки сервис генерирует корзину пользователя на основе введенных им данных.
- Проведены работы по оптимизации скорости работы сайта. В результате работы достигнута общая оптимизация кода, уменьшена нагрузка на сервер БД путем снижения количества запросов.
- На один товар существует много разных цен по типу пользователя (определенный группировки).
- За каждой компанией привязан конкретный менеджер.
- Разделение пользователей на разные роли (Владелец компании, Пользователь компании, Менеджер).
В процессе разработки проекта использовались следующие функциональные возможности продукта: Модули: главный модуль, информационные блоки, торговый каталог, интернет-магазин, валюты, highload-блоки, поиск; Технологии: d7 (orm + события), urlrewrite, стандартная система событий, компоненты 2.0, php кеширование переменных.
Попутно с выполнением основных задач были выполнены работы:
- менеджмент зависимостей с помощью composer
- сборка фронтенда с помощью gulp
- интеграция с CarrotQuest
- использование PHPExcel
- разработка большого количества компонентов, выполняющих специфические для данного проекта задачи
Функционал стандартных компонентов Битрикса с минимальными кастомизацииями шаблонов полностью подошел для большинства решений для вывода контента и информации в публичной части сайта; API Битрикс (методы модулей «Информационные блоки», «Торговый каталог», «Интернет магазин», «highload-блоки») в сочетании с библиотеками SimpleXML и PHPExcel позволило создать комплекс экспортов/импортов данных из/в различные файловые форматы (xml, csv, xml), используемые в различном функционале сайта от интеграции с 1С до пользовательского функционала.
Благодаря возможности создания собственных компонентов, возможности кастомизации компонентов и шаблонов компонентов, возможности подключения файлов с передачей входных параметров в сочетании с использованием API некоторых модулей был разработан функционал, решающий специфические для данного проекта задачи, в частности:
- функционал импорта корзины из файла. Принцип работы заключается в том, что по запросу пользователя происходит выгрузка основного ассортимента товаров компании в excel файл. В данном файле пользователь указывает нужное кол-во интересующих его товарных позиций, загружает данный файл на сайт, при этом происходит формирование корзины пользователя с выводом отчета о результате формирования корзины;
- кастомизация поиска. Поиск разделен на области. Пользователь может выбирать область поиска – либо по менеджерам, либо по ассортименту, причем поиск по ассортименту тоже разграничен, пользователь может выбрать, в каком ассортименте проводить поиск (собственный ассортимент компании, или ассортимент компаний партнеров или и то и другое). Поиск сделан морфологическим, причем не полнотекстовый морфологический поиск, а морфологический поиск по заголовкам. Более того, введена кастомизация, которая позволяет в условиях морфологического поиска получать не всевозможные сочетания словоформ, а всевозможные сочетания только тех словоформ, которые используются в запросе. Например, при вводе запроса - «Насосом дренажным» будут отдаваться ТОЛЬКО результаты, в которых присутствуют словоформы слов «Насос» и «Дренажный», а товары с названием «Скважинный насос» и «Циркуляционный насос» не будут присутствовать в результатах поиска. Используется транслитерация поискового запроса, опять же кастомизированная, согласно требованиям заказчика. Формирование результатов поиска происходит с учетом доступности товаров в данном филиале. Выпадающий список с результатами поиска содержит функционал, позволяющий покупать товары, просматривать информацию об остатках, а также технические документы непосредственно из результатов поиска (без перехода на страницу результатов поиска или карточку товара).
- разработана система обучения использования функционала сайта для пользователя, предлагающая пользователю определенный раздел справки, в зависимости от страницы, на которой находится пользователь. Более того, в некоторых разделах сайта (например, личном кабинете), система предлагает раздел не только в зависимости от страницы, но и в зависимости от карточки ЛК, на которой находится пользователь;
- разработан функционал работы с заказами пользователя и повторного заказа. Разработан компонент, позволяющий работать не только с заказами, но и с черновиками заказа (сохраненная в качестве черновика корзина пользователя).
- В проекте были достигнуты все изначально поставленные цели.
- В ходе разработки проекта, разработчики не столкнулись с задачами, которые невозможно было бы реализовать через Bitrix и его API.
- Закрыто 145 задач по поддержке и развитию проекта.
- Затрачено 1320 человеко-часов.