SlideShare a Scribd company logo
Разработка интернет-магазинов
на Drupal
Сергей Синица
Сергей Синица
Drupal Developer
Мой опыт e-commerce на Drupal
● Руковожу командой Drupal-coder.ru в Инитлаб
● От E-commerce к Ubercart и затем Drupal Commerce
● Интегрирую Drupal с учетными системами и CRM
● Разработал commerceml.module
● Делаю сборку RU Commerce
Иван Иванов
Drupal Developer
Как работает интернет-магазин?
Сайт
Клиенты
Сервисы оплаты и доставки
БекендПартнеры
SMS, email, соцсети
XML, YML XML, CommerceML
Веб-сервисы
Иван Иванов
Drupal Developer
Как мы делаем это на Drupal?
Клиенты
Сервисы оплаты и доставки
БекендПартнеры
Rules
Views Data Export Feeds, commerceml
Контриб
Сергей Синица
Drupal Developer
Что такое бекенд для e-commerce?
● Складской учет
● Работа с ценами поставщиков
● Обработка заказов
● CRM
● ERP ● 1С: Предприятие
● МойСклад
● Турбо9
● Класс365
Операторы работают в бекэнде,
а на сайте делается минимум действий
Сергей Синица
Drupal Developer
Виды внедрений обмена
● Новый пустой интернет-магазин и учетная система
● Новый интернет-магазин, учет ведется оффлайн
● Работающий интернет-магазин, добавляем бекенд
● Интернет-магазин и бекенд уже работают раздельно
Введем обозначения:
● Пусто-пусто
● Пусто-есть
● Есть-пусто
● Есть-есть
Сергей Синица
Drupal Developer
Сложности внедрения пусто-пусто+
● Количество типов товаров и полей
● Есть ли работа со скидками и как формируется цена
● Картинки
● Уникальные описания
● Заполнение полей (свойств номенклатуры)
● Как формировать ассортимент (парсинг, импорт)
● Как обновлять цены поставщиков
● Более одного склада
● Поля в тизерах товаров различны
Сергей Синица
Drupal Developer
Сложности внедрения пусто-есть+
● Отсутствие артикулов
● Неуникальность артикулов
● Артикулы используются не по назначению
● Составные названия номенклатуры товаров без свойств
● Группы номенклатуры не соответствуют навигации
● Не проставлена цена у товаров
● Устаревший формат импорта заказов (DBF... WTF?)
Сергей Синица
Drupal Developer
Сложности внедрения есть-пусто+
● Составные поля, которые надо обновлять частично
● Наличие и уникальность идентификаторов
● Выгрузка из интернет магазина и импорт в бекенд
● Ограниченные возможности хостинга
● Картинки
Сергей Синица
Drupal Developer
Сложности внедрения есть-есть
● Синхронизация идентификаторов
● Синхронизация полей
● Снятие отсутствующих товаров с публикации
Сергей Синица
Drupal Developer
Что такое CommerceML?
Сергей Синица
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
Сергей Синица
Drupal Developer
Профилировка
Сергей Синица
Drupal Developer
Профилировка
Сергей Синица
Drupal Developer
Скорость работы
Первичный импорт 20000 товаров
с заменой
40 минут
Первичный импорт 20000 нодов

и 800Мб картинок с заменой
40 минут
Обновление 1600 продуктов из
20000
6 минут
Обновление 150 нодов из 20000 2 минуты
Сергей Синица
Drupal Developer
commerceml.module
https://www.drupal.org/sandbox/sin/2340097
Реализует http://v8.1c.ru/edi/edi_stnd/131/
Поддерживает передачу архивов и файлов по частям
Вызывает импорт Feeds пакетно
Отдает заказы Drupal Commerce, меняет их статус
Создает поля и словари таксономии
Работает с одним типом товаров и одним набором полей
Сергей Синица
Drupal Developer
commerceml.module импортINIT
Синхронизируем поля одного типа нода
Создаем словари таксономии для свойств
Определяем есть ли картинки, полная ли выгрузка
CATALOG
Импортируем термины каталога через Feeds
PROPERTIES
Импортируем другие словари таксономии через Feeds
PRODUCTS
Пакетно импортируем товары через Feeds
PRODUCT_NODES
Пакетно импортируем дисплеи через Feeds (разные импортеры с картинками и без)
Для выгрузки только изменений отключаем снятие с публикации нодов
DONE
Чистим кеш
Сергей Синица
Drupal Developer
commerceml.module TODO
Пофиксить issue #2601128
Переписать импорт таксономии и синхронизацию полей
Импорт более одного типа товаров с разными полями
Интеграция Rules при обработке заказов
Портировать использование Views Data Export с D6 на D7
Сергей Синица
Drupal Developer
Сборка RU Commerce
• Бесплатная community-версия
• На русском, переводы localize.drupal.org
• Настроен обмен CommerceML
• Search API + Views
• Нет самописа, только contrib и features
• Совместимо с 1С, МойСклад, Класс365
• Версия для b2b с плюшками
Сергей Синица
Drupal developer
Иван Иванов
Drupal Developer
info@drupal-coder.ru
+7 905 471-45-55
Золотой спонсор:
Спасибо!
При поддержке: Серебряный спонсор:

More Related Content

PDF
Anton Shloma. Drupal as an integration platform
PPTX
PPTX
Aplicación agenda digital adm tributaria
PDF
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
PDF
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
DOCX
ENTR 395 Paper
PPT
Архитектура Drupal Commerce. Основы работы с Drupal Commerce
PPTX
Екатерина Маршалкина - Panels & Page manager in Drupal 8
Anton Shloma. Drupal as an integration platform
Aplicación agenda digital adm tributaria
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
ENTR 395 Paper
Архитектура Drupal Commerce. Основы работы с Drupal Commerce
Екатерина Маршалкина - Panels & Page manager in Drupal 8

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

PPT
Drupal vs ubercart
PDF
Создать интернет магазин легко! Методы борьбы за покупателя в интернете
PPT
Drupal commerce VS Ubercart 3.x.
PPTX
«1С-Битрикс: Управление сайтом»: платформа для интернет-магазина
PPTX
Эффективный интернет магазин Игорь Шевчик
PPSX
Что должен уметь современный интрнет-магазин
PPTX
Денис Донченко. Платформа для интернет-магазина
PPTX
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса: "Ин...
PPTX
Правильный интернет магазин на платформе «1с-битрикс». лучшие технологии борь...
PDF
сравнение Drupal и 1с битрикс
PPTX
Создать интернет-магазин? - Легко!
PPTX
Надежная платформа для вашего интернет магазина
PDF
Платформа для интернет-магазина -- 1С Битрикс
PPTX
Правильный интернет-магазин на платформе «1С-Битрикс». Разумный функционал и ...
PPTX
«1С-Битрикс: Управление сайтом» - платформа для интернет-магазина
PPTX
О системе 1С-Битрикс, презентация компании Ремарк.Интеграция
PPTX
презентация 1. андрей фомичев - it-улей - умный интернет-магазин. максималь...
PPTX
«Разумная разработка интернет-магазина: функционал и сценарии работы». Малыши...
PPTX
1С-Битрикс. Разумная разработка интернет магазина, функционал и сценарии работы
PDF
Cоздать интернет магазин? - Легко! Возможности платформы «1С-Битрикс» для упр...
Drupal vs ubercart
Создать интернет магазин легко! Методы борьбы за покупателя в интернете
Drupal commerce VS Ubercart 3.x.
«1С-Битрикс: Управление сайтом»: платформа для интернет-магазина
Эффективный интернет магазин Игорь Шевчик
Что должен уметь современный интрнет-магазин
Денис Донченко. Платформа для интернет-магазина
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса: "Ин...
Правильный интернет магазин на платформе «1с-битрикс». лучшие технологии борь...
сравнение Drupal и 1с битрикс
Создать интернет-магазин? - Легко!
Надежная платформа для вашего интернет магазина
Платформа для интернет-магазина -- 1С Битрикс
Правильный интернет-магазин на платформе «1С-Битрикс». Разумный функционал и ...
«1С-Битрикс: Управление сайтом» - платформа для интернет-магазина
О системе 1С-Битрикс, презентация компании Ремарк.Интеграция
презентация 1. андрей фомичев - it-улей - умный интернет-магазин. максималь...
«Разумная разработка интернет-магазина: функционал и сценарии работы». Малыши...
1С-Битрикс. Разумная разработка интернет магазина, функционал и сценарии работы
Cоздать интернет магазин? - Легко! Возможности платформы «1С-Битрикс» для упр...
Ad

More from DrupalSib (20)

PDF
SSO авторизация - Татьяна Киселева, DrupalJedi
PDF
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
PPTX
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
PDF
Drupal в школе - Борис Шрайнер
PDF
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
PDF
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
PDF
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
PDF
Вадим Валуев - Искусство ИТ
PDF
Андрей Юртаев - Mastering Views
PDF
Migrate drupal 6 to drupal 8. Абраменко Иван
PDF
Entity возрождение легенды. Исай Руслан
PDF
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
PDF
Реализация “гибких” списков Жамбалова Намжилма
PDF
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
PDF
Eugene Ilyin. Why Drupal is cool?
PDF
Ivan Kotlyar. PostgreSQL in web applications
PDF
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
PDF
Руслан Исай - Проповедуем Drupal разработку
PDF
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
PDF
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
SSO авторизация - Татьяна Киселева, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
Drupal в школе - Борис Шрайнер
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Вадим Валуев - Искусство ИТ
Андрей Юртаев - Mastering Views
Migrate drupal 6 to drupal 8. Абраменко Иван
Entity возрождение легенды. Исай Руслан
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
Реализация “гибких” списков Жамбалова Намжилма
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Eugene Ilyin. Why Drupal is cool?
Ivan Kotlyar. PostgreSQL in web applications
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Руслан Исай - Проповедуем Drupal разработку
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ad

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

  • 2. Сергей Синица Drupal Developer Мой опыт e-commerce на Drupal ● Руковожу командой Drupal-coder.ru в Инитлаб ● От E-commerce к Ubercart и затем Drupal Commerce ● Интегрирую Drupal с учетными системами и CRM ● Разработал commerceml.module ● Делаю сборку RU Commerce
  • 3. Иван Иванов Drupal Developer Как работает интернет-магазин? Сайт Клиенты Сервисы оплаты и доставки БекендПартнеры SMS, email, соцсети XML, YML XML, CommerceML Веб-сервисы
  • 4. Иван Иванов Drupal Developer Как мы делаем это на Drupal? Клиенты Сервисы оплаты и доставки БекендПартнеры Rules Views Data Export Feeds, commerceml Контриб
  • 5. Сергей Синица Drupal Developer Что такое бекенд для e-commerce? ● Складской учет ● Работа с ценами поставщиков ● Обработка заказов ● CRM ● ERP ● 1С: Предприятие ● МойСклад ● Турбо9 ● Класс365 Операторы работают в бекэнде, а на сайте делается минимум действий
  • 6. Сергей Синица Drupal Developer Виды внедрений обмена ● Новый пустой интернет-магазин и учетная система ● Новый интернет-магазин, учет ведется оффлайн ● Работающий интернет-магазин, добавляем бекенд ● Интернет-магазин и бекенд уже работают раздельно Введем обозначения: ● Пусто-пусто ● Пусто-есть ● Есть-пусто ● Есть-есть
  • 7. Сергей Синица Drupal Developer Сложности внедрения пусто-пусто+ ● Количество типов товаров и полей ● Есть ли работа со скидками и как формируется цена ● Картинки ● Уникальные описания ● Заполнение полей (свойств номенклатуры) ● Как формировать ассортимент (парсинг, импорт) ● Как обновлять цены поставщиков ● Более одного склада ● Поля в тизерах товаров различны
  • 8. Сергей Синица Drupal Developer Сложности внедрения пусто-есть+ ● Отсутствие артикулов ● Неуникальность артикулов ● Артикулы используются не по назначению ● Составные названия номенклатуры товаров без свойств ● Группы номенклатуры не соответствуют навигации ● Не проставлена цена у товаров ● Устаревший формат импорта заказов (DBF... WTF?)
  • 9. Сергей Синица Drupal Developer Сложности внедрения есть-пусто+ ● Составные поля, которые надо обновлять частично ● Наличие и уникальность идентификаторов ● Выгрузка из интернет магазина и импорт в бекенд ● Ограниченные возможности хостинга ● Картинки
  • 10. Сергей Синица Drupal Developer Сложности внедрения есть-есть ● Синхронизация идентификаторов ● Синхронизация полей ● Снятие отсутствующих товаров с публикации
  • 12. Сергей Синица 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
  • 15. Сергей Синица Drupal Developer Скорость работы Первичный импорт 20000 товаров с заменой 40 минут Первичный импорт 20000 нодов и 800Мб картинок с заменой 40 минут Обновление 1600 продуктов из 20000 6 минут Обновление 150 нодов из 20000 2 минуты
  • 16. Сергей Синица Drupal Developer commerceml.module https://www.drupal.org/sandbox/sin/2340097 Реализует http://v8.1c.ru/edi/edi_stnd/131/ Поддерживает передачу архивов и файлов по частям Вызывает импорт Feeds пакетно Отдает заказы Drupal Commerce, меняет их статус Создает поля и словари таксономии Работает с одним типом товаров и одним набором полей
  • 17. Сергей Синица Drupal Developer commerceml.module импортINIT Синхронизируем поля одного типа нода Создаем словари таксономии для свойств Определяем есть ли картинки, полная ли выгрузка CATALOG Импортируем термины каталога через Feeds PROPERTIES Импортируем другие словари таксономии через Feeds PRODUCTS Пакетно импортируем товары через Feeds PRODUCT_NODES Пакетно импортируем дисплеи через Feeds (разные импортеры с картинками и без) Для выгрузки только изменений отключаем снятие с публикации нодов DONE Чистим кеш
  • 18. Сергей Синица Drupal Developer commerceml.module TODO Пофиксить issue #2601128 Переписать импорт таксономии и синхронизацию полей Импорт более одного типа товаров с разными полями Интеграция Rules при обработке заказов Портировать использование Views Data Export с D6 на D7
  • 19. Сергей Синица Drupal Developer Сборка RU Commerce • Бесплатная community-версия • На русском, переводы localize.drupal.org • Настроен обмен CommerceML • Search API + Views • Нет самописа, только contrib и features • Совместимо с 1С, МойСклад, Класс365 • Версия для b2b с плюшками
  • 20. Сергей Синица Drupal developer Иван Иванов Drupal Developer info@drupal-coder.ru +7 905 471-45-55 Золотой спонсор: Спасибо! При поддержке: Серебряный спонсор: