Как мы делали инструмент для разметки деталей на технологических картах для новой версии сайта Hatzenbichler.ru

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

Все, как с автомобилям. Один нюанс. У автомобилей есть exist, официальные дилеры, склады запчастей на каждом углу. У вас же есть ровно один склад в Волгограде, ровно один сайт там же, и множество клиентов, у которых сломалась “та самая хреновина, которая контргайкой крепится к той штуке”. Вот и звонят они все в сезон посева-уборки, а также в межсезонье с просьбой подобрать или продать эту запчасть.

Дилеры компании Хатценбихлер

Как быть? Проблема налицо – Каждому по телефону не расскажешь, каждому каталог не вышлешь, и вообще, ради одного болта за 28 рублей не очень хочется с ними возиться.

Решение.

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

Пара параллелограммов

При этом, естественно, никто не знает номера деталей и их названия. Поэтому, выбор конкретной детали должен быть максимально простым – ткнуть в детальку на схеме. Точнее, не в детальку, а в ее порядковый номер на выноске на схеме. Цель ясна – сделать каталог запасных частей с возможностью загружать схемы для узлов, а на схемах делать разметку деталей с привязкой к элементам каталога запасных частей. При этом, у каталога запасных частей будут все признаки интернет-магазина. Цены, корзина, заказы, и все прочие вкусности.

Забегая вперед, сразу покажем, что получилось.

Подбор запчастей для техники

Посмотрели на схему, нажали в цифру “1”, в таблице ниже подсветилась деталь. Можно смело нажимать “Заказать”, не ошибешься. Дальше – больше. Чтобы не забыть, положили мы детальку в корзину, или нет, сайт подсвечиваем всю строку таблицы с деталью в корзине.

Подбор деталей для техники

Когда нажимаешь “Заказать”, выплывает окошко, в котором еще и количество деталек можно указать. Мало ли, вдруг, у кого-то обе S-образные стойки сломались? Дальше вся магия заканчивается, и начинаются обычные Корзины, Оформления заказов, итд. Перейдем к структуре.

Структура данных

Список запасных частей хранится в обычной плоской таблице (читай, в одном инфоблоке). Не имеет разделов, и содержит минимум полей - Название, Артикул, Описание, Цену. Такую таблицу очень удобно импортировать из CSV (см. http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=28&LESSON_ID=1523&LESSON_PATH=3899.4354.4355.1523.... А в CSV, в свою очередь, удобно экспортировать из 1С. За примерно 5 минут на сайт удалось загрузить около тысячи деталей. Для того, чтобы запасную часть можно было “прицепить” к схеме, у нее обязательно должен быть установлен артикул. А для того, чтобы сделать импорт в список запасных частей, Битрикс обязательно требует установить цену и валюту.

Запчасти для техники Хатценбихлер

Все запчасти хранятся в одном списке и недоступны пользователю. Только на схемах.

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

Каталог запасных частей Хатценбихлер

Единственная капля дегтя – при редактировании раздела в данном каталоге нужно обязательно указать, разделом чего он является – Каталога техники, или Каталога запчастей в конкретной модели. Воспринимается структура также легко и естественно: Культиваторы -> Культиватор Комби -> Шасси, Гидравлическая схема, Ступица опорного колеса, итд.

Элементами каталога являются непосредственно схемы узлов. Детальная картинка – обязательна.

Схемы в каталоге запчастей

Теперь, самое интересное. Привязка деталей к схеме.

Программист Павел Машанов разработал специальное свойство у элемента, которое позволяет хранить информацию о позиции детали на изображении, а также артикул детали в каталоге запасных частей. При редактировании в “админке”, детали добавляются простым щелчком на нужное место на картинке. Более того, если случайно промахнулся, метку можно перетащить мышью. Можно вручную установить координаты, если и мышью не получается. Когда вводишь цифры артикула, сайт осуществляет мгновенный поиск, и в выпадающей подсказке показывает названия деталей. Наполнение одной схемы несколькими десятками деталей занимает от силы 5 минут! Это огромное облегчение работы контент-менеджера.

Редактирование деталей на схеме

Если вы хотите изменить уже созданную схему с привязанными деталями, или добавить на нее запасные части, вы также можете это сделать.

Комментарий программиста

   Реализация разметки схем требовала не сложной, но трудоемкой работы на “клиенте” (браузер, в смысле) – пришлось сделать небольшой визуальный редактор. Можно было легко увязнуть в jquery-callback-ах. Были все шансы через 2 дня наблюдать несколько экранов спагетти-кода.

В таком случае логично было использовать некоторый каркас, чтобы не заниматься связями компонентов UI между собой. Таким каркасом стал knockoutjs – библиотека для декларативного описания связей между видом и моделью данных. Все заботы о связанности данных модели и представления он взял на себя.

Написанный на чистом JavaScript, knockoutjs не привязывал к каким-либо конкретным библиотекам. Поэтому использовались хорошо изученные jquery, jqueryui и встроенные средства битрикса для работы со всплывающими окнами. Для draggable меток на изображении использовался JQuery UI – все необходимые методы там есть.

Получилось хорошо. Открыл для себя, например, что координаты курсора могут быть дробными, если масштаб страницы отличен от 100%.

Минусы и пожелания

  • Схемы не масштабируются, это самый большой недостаток. Пересчет координат, конечно, можно было реализовать, но это уже не укладывалось в бюджет.
  • Сейчас мы указываем точку на картинке, и деталь привязываем к точке. В идеальном варианте - указывать сколько-угодно-угольник, и привязывать деталь ко всей выбранной области. А при наведении - подсвечивать. Отзывчивый интерфейс, знаете ли.
  • Каталог моделей техники с каталогом запасных частей у каждой из моделей - это все-таки сложно для понимания. Постепенно привыкаешь и ориентируешься, на каком уровне что лежит. Но сначала – взрыв мозга.

Вывод

Мы серьезно залезли вглубь Битрикса, и реализовали хороший и удобный сервис разметки деталей на картинках. При этом, мы старались максимально облегчить и упростить все этапы. Загрузка запасных частей на сайт, разметка схем, наполнение каталога может выполняться контент-менеджером с хорошей скоростью. Хотя внутри всего этого серьезное переплетение 1С-Битрикс, PHP, JavaScript, ООП, и других магических технологий.

Поделиться
22.08.2013
Оцените статью
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.

Статьи по теме

От ручных отчетов к дашборду: вся правда о процессах компании за 1 минутуЕсли не любите читать длинные отчеты, а предпочитаете сразу ухватить всю суть, то пока нет ничего лучше дашбордов. Сделали их на PowerBI в закрытом контуре клие...
Аналитика по 100 сделкам за 2 минуты и 20 рублей теперь реальностьНе хватает типовых отчетов CRM, чтобы понять что происходит с продажами? Нет времени, чтобы, держа руку на пульсе, погружаться во все детали сделок? Ответ здесь...
Как оживить заброшенный розничный сайт и сделать из него генератор оптовых продажРеальный пример того, как переделать старый розничный сайт на Аспро Максимум под оптовый магазин и за месяц перетащить туда 70 клиентов с чеком от 3,5 млн. ...
Как управлять информацией о товарах, если каналов продаж много, а ты одинКогда номенклатура вырастает до нескольких тысяч SKU, управлять информацией о продуктах становится труднее. Рассказываем как победить хаос с помощью PIM-системы...
ИИ для бизнеса: как понять что он нужен, где использовать ИИ в бизнесе: контроль и эффективность или галлюцинации и большие затраты. Как перестать сомневаться и начать внедрение? Оценим риск, пользу и сделаем первый ша...
Умный поиск по CRM Битрикс24 и базам знанийЧем старше компания, тем больше у неё документов, отчетов, записей встреч. Как не тратить часы на поиск нужных сведений, а получать мгновенный ответ на вопрос? ...
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем