Сергей Синица. Разработка интернет-магазинов на drupal

20
Разработка интернет-магазинов на Drupal Сергей Синица

Upload: drupalsib

Post on 24-Jan-2017

199 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Сергей Синица. Разработка интернет-магазинов на Drupal

Разработка интернет-магазинов на Drupal

Сергей Синица

Page 2: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Мой опыт e-commerce на Drupal ● Руковожу командой Drupal-coder.ru в Инитлаб ● От E-commerce к Ubercart и затем Drupal Commerce ● Интегрирую Drupal с учетными системами и CRM ● Разработал commerceml.module ● Делаю сборку RU Commerce

Page 3: Сергей Синица. Разработка интернет-магазинов на Drupal

Иван Иванов Drupal Developer

Как работает интернет-магазин?

Сайт

Клиенты

Сервисы оплаты и доставки

БекендПартнеры

SMS, email, соцсети

XML, YML XML, CommerceML

Веб-сервисы

Page 4: Сергей Синица. Разработка интернет-магазинов на Drupal

Иван Иванов Drupal Developer

Как мы делаем это на Drupal? Клиенты

Сервисы оплаты и доставки

БекендПартнеры

Rules

Views Data Export Feeds, commerceml

Контриб

Page 5: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Что такое бекенд для e-commerce?● Складской учет ● Работа с ценами поставщиков ● Обработка заказов ● CRM ● ERP ● 1С: Предприятие

● МойСклад ● Турбо9 ● Класс365

Операторы работают в бекэнде, а на сайте делается минимум действий

Page 6: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Виды внедрений обмена● Новый пустой интернет-магазин и учетная система ● Новый интернет-магазин, учет ведется оффлайн ● Работающий интернет-магазин, добавляем бекенд ● Интернет-магазин и бекенд уже работают раздельно Введем обозначения: ● Пусто-пусто ● Пусто-есть ● Есть-пусто ● Есть-есть

Page 7: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Сложности внедрения пусто-пусто+● Количество типов товаров и полей ● Есть ли работа со скидками и как формируется цена ● Картинки ● Уникальные описания ● Заполнение полей (свойств номенклатуры) ● Как формировать ассортимент (парсинг, импорт) ● Как обновлять цены поставщиков ● Более одного склада ● Поля в тизерах товаров различны

Page 8: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Сложности внедрения пусто-есть+

● Отсутствие артикулов ● Неуникальность артикулов ● Артикулы используются не по назначению ● Составные названия номенклатуры товаров без свойств ● Группы номенклатуры не соответствуют навигации ● Не проставлена цена у товаров ● Устаревший формат импорта заказов (DBF... WTF?)

Page 9: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Сложности внедрения есть-пусто+

● Составные поля, которые надо обновлять частично ● Наличие и уникальность идентификаторов ● Выгрузка из интернет магазина и импорт в бекенд ● Ограниченные возможности хостинга ● Картинки

Page 10: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Сложности внедрения есть-есть

● Синхронизация идентификаторов ● Синхронизация полей ● Снятие отсутствующих товаров с публикации

Page 11: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Что такое CommerceML?

Page 12: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Импорт CommerceML в Drupal

● Feeds + Feeds XPath parser + Commerce Feeds http://www.drupal.ru/node/79777

● Патч для матчинга таксономии по GUID https://www.drupal.org/node/1019688#comment-6726772

● commerce_feeds_guid.module https://www.drupal.org/sandbox/sin/1970072

Page 13: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Профилировка

Page 14: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Профилировка

Page 15: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Скорость работы Первичный импорт 20000 товаров

с заменой 40 минут

Первичный импорт 20000 нодови 800Мб картинок с заменой 40 минут

Обновление 1600 продуктов из 20000 6 минут

Обновление 150 нодов из 20000 2 минуты

Page 16: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

commerceml.modulehttps://www.drupal.org/sandbox/sin/2340097

Реализует http://v8.1c.ru/edi/edi_stnd/131/ Поддерживает передачу архивов и файлов по частям Вызывает импорт Feeds пакетно Отдает заказы Drupal Commerce, меняет их статус Создает поля и словари таксономии Работает с одним типом товаров и одним набором полей

Page 17: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

commerceml.module импортINIT Синхронизируем поля одного типа нода Создаем словари таксономии для свойств Определяем есть ли картинки, полная ли выгрузка CATALOG Импортируем термины каталога через Feeds PROPERTIES Импортируем другие словари таксономии через Feeds PRODUCTS Пакетно импортируем товары через Feeds PRODUCT_NODES Пакетно импортируем дисплеи через Feeds (разные импортеры с картинками и без) Для выгрузки только изменений отключаем снятие с публикации нодов DONE Чистим кеш

Page 18: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

commerceml.module TODO

Пофиксить issue #2601128 Переписать импорт таксономии и синхронизацию полей Импорт более одного типа товаров с разными полями Интеграция Rules при обработке заказов Портировать использование Views Data Export с D6 на D7

Page 19: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal Developer

Сборка RU Commerce

• Бесплатная community-версия • На русском, переводы localize.drupal.org • Настроен обмен CommerceML • Search API + Views • Нет самописа, только contrib и features • Совместимо с 1С, МойСклад, Класс365 • Версия для b2b с плюшками

Page 20: Сергей Синица. Разработка интернет-магазинов на Drupal

Сергей Синица Drupal developer

Иван Иванов Drupal Developer

[email protected] +7 905 471-45-55

Золотой спонсор:

Спасибо!

При поддержке: Серебряный спонсор: