Сергей Синица. Разработка интернет-магазинов на drupal
TRANSCRIPT
Разработка интернет-магазинов на 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.modulehttps://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
[email protected] +7 905 471-45-55
Золотой спонсор:
Спасибо!
При поддержке: Серебряный спонсор: