Інтернет-магазин на Drupal Commerce: налаштування, кастомізація, запуск

Уявіть: інтернет-магазин меблів із сотнями SKU, кожна комбінація тканини та ніжок — окремий товар зі своєю ціною та залишком. На WooCommerce це вимагало б десятка плагінів і костилів. Drupal Commerce 2.x вирішує задачу без них. Архітектура на плагінах та YAML-конфігах дозволяє гнучко описати будь-як

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтернет-магазин на Drupal Commerce: налаштування, кастомізація, запуск
Складний
~2-4 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Уявіть: інтернет-магазин меблів із сотнями SKU, кожна комбінація тканини та ніжок — окремий товар зі своєю ціною та залишком. На WooCommerce це вимагало б десятка плагінів і костилів. Drupal Commerce 2.x вирішує задачу без них. Архітектура на плагінах та YAML-конфігах дозволяє гнучко описати будь-яку товарну ієрархію. Drupal Commerce — не просто кошик, а фреймворк для складної e-commerce логіки.

Ми маємо 7+ років досвіду з Drupal і понад 50 успішних e-commerce проєктів. Ми реалізуємо інтернет-магазин на Drupal Commerce під ключ.

Проблеми, які вирішує Drupal Commerce 2.x

Стандартні модулі Drupal не завжди покривають складну e-commerce логіку. Наприклад, товар із кількома варіаціями (колір, розмір) і різними цінами. Або багаторівневі знижки на основі історії замовлень. Часто до нас приходять після невдалих спроб адаптувати WooCommerce під Drupal. Коли інтеграція з 1С потрібна на рівні обміну замовленнями та залишками, Commerce 2.x справляється краще.

Але це не всі складнощі. Реальний кейс: клієнт продає меблі з десятками комбінацій тканини та ніжок. Кожна комбінація — окремий SKU з ціною та залишком. У Commerce 2.x це вирішується через Product Variation, а custom fields — через Field API. Інший приклад: потрібно зібрати одне замовлення з товарів у різних магазинах (multi-store). Commerce Stores з коробки підтримує роздільні кошики та платіжні профілі. Економія на розробці очевидна: не потрібно писати кастомні модулі під кожну задачу. Drupal Commerce 2.x в 2-3 рази швидше впроваджується для складних товарних каталогів, ніж WooCommerce, і не потребує сторонніх плагінів для варіацій.

Чому Commerce 2.x краще за Commerce 1.x?

Commerce 2.x повністю переписаний для нових версій Drupal і несумісний з першою версією. Ось ключові відмінності:

Критерій Commerce 1.x (D7) Commerce 2.x (D8+)
Архітектура Rules + Features Плагіни + конфіг YAML
Управління станом Rules State Machine
Мультисайт Складно Stores з коробки
API Hook-based OOP + Events

Якщо проєкт все ще на Drupal 7, доведеться або використовувати legacy Commerce 1.x, або мігрувати з повною переробкою. Наш досвід показує, що міграція з Commerce 1.x на 2.x займає 2–4 тижні в залежності від кастомізацій.

Що робити, якщо потрібна міграція з Commerce 1.x?

Міграція — це не просто перенесення даних, а переробка бізнес-логіки. Commerce 1.x та 2.x несумісні: модулі, хуки, структура бази — все різне. Ми розробляємо план міграції, який включає: аудит поточної функціональності, експорт даних у CSV/JSON, написання міграційних скриптів на Migrate API, налаштування нового магазину з нуля. Після міграції замовлення та залишки переносяться, а кастомні checkout flows переписуються під плагінну архітектуру.

Базова установка через Composer

composer require drupal/commerce drupal/commerce_price drupal/commerce_store \ drupal/commerce_product drupal/commerce_order drupal/commerce_cart \ drupal/commerce_checkout drupal/commerce_payment drupal/commerce_tax drush en commerce commerce_product commerce_cart commerce_checkout \ commerce_payment commerce_tax commerce_order -y drush cr 
Додаткові модулі Для платіжних шлюзів: `composer require drupal/commerce_stripe drupal/commerce_paypal`. Для складу: `commerce_stock`. Для 1С: `commerce_1c`. Для пошуку: `search_api` + `search_api_solr`.

Налаштування магазину та типів продуктів

Налаштування інтернет-магазину Drupal починається зі створення магазину у /admin/commerce/config/stores. Вкажіть базову валюту, країну за замовчуванням та список країн для доставки.

Товари в Commerce поділяються на product (картка) та variation (SKU з ціною). Створіть типи продуктів та варіацій через адмінку. Для програмного створення використовуйте код:

use Drupal\commerce_price\Price; use Drupal\commerce_product\Entity\Product; use Drupal\commerce_product\Entity\ProductVariation; $variation = ProductVariation::create([ 'type' => 'default', 'sku' => 'CHAIR-BLK-L', 'price' => new Price('1499.00', 'RUB'), 'field_color' => ['target_id' => $colorTermId], 'field_size' => 'L', ]); $variation->save(); $product = Product::create([ 'type' => 'default', 'title' => 'Крісло офісне', 'stores' => [$storeId], 'variations' => [$variation], ]); $product->save(); 

Для каталогу використовуйте Views. Налаштуйте фільтри за ціною, атрибутами, магазином. Для фасетного пошуку Drupal підключіть Search API та Solr.

Як налаштувати checkout flow Drupal під свою бізнес-логіку?

Архітектура Commerce 2.x базується на подійно-орієнтованому підході (Event-Driven), що дозволяє легко розширювати функціонал через плагіни та слухачі подій. Checkout flow Drupal дозволяє кастомізувати процес оформлення замовлення. Ви можете додавати або видаляти кроки: авторизація, адреса доставки, платіжна інформація, підтвердження. Якщо потрібне нестандартне поле, наприклад, примітка до замовлення, створіть плагін:

/** * @CommerceCheckoutPane( * id = "custom_gift_note", * label = @Translation("Gift note"), * default_step = "order_information", * ) */ class GiftNotePane extends CheckoutPaneBase { public function buildPaneForm(array $pane_form, FormStateInterface $form_state, array &$complete_form): array { $pane_form['gift_note'] = [ '#type' => 'textarea', '#title' => $this->t('Повідомлення отримувачу'), '#rows' => 3, ]; return $pane_form; } } 

Підключіть платіжні шлюзи Drupal: Stripe, PayPal, ЮKassa через відповідні модулі. Конфігурація шлюзу включає ключі API та вибір режиму (тестовий/бойовий). Гарантуємо підтримку останніх версій Drupal.

Управління складом та податки

Commerce не включає інвентаризацію з коробки — використовуйте модуль commerce_stock для інтеграції складу Drupal. Він додає поле залишку на варіації та підтримує кілька складів.

use Drupal\commerce_stock\StockServiceManagerInterface; $stockService = \Drupal::service('commerce_stock.service_manager') ->getService($productVariation); $level = $stockService->getStockLevel($productVariation, $locations); $stockService->createTransaction( $productVariation, $locationId, [], 100, new Price('0', 'RUB'), 'RUB', TRANSACTION_TYPE_IN, [] ); 

Податкова система Drupal налаштовується через модуль commerce_tax. Створіть податковий тип, вкажіть ставку та території. Наприклад, ПДВ 20% для Білорусі. Commerce автоматично застосує ставку за адресою покупця.

Що входить в роботу

  1. Аналіз вимог та підготовка технічного завдання
  2. Встановлення Drupal та Commerce на хостинг
  3. Налаштування магазину, типів продуктів та варіацій
  4. Розробка кастомних кроків оформлення (якщо потрібно)
  5. Підключення платіжного шлюзу та податків
  6. Інтеграція зі складом
  7. Налаштування каталогу з фасетним пошуком Drupal
  8. Тестування та навчання адміністраторів
  9. Документація по роботі з системою
  10. Гарантійне обслуговування 1 місяць

Терміни реалізації

Етап Час
Встановлення та налаштування магазину 2–3 дні
Кастомізація checkout 2 дні
Інтеграція платіжного шлюзу 1–3 дні
Управління складом 1–2 дні
Каталог з фасетним пошуком 2–4 дні
Податки 1–2 дні

Базовий робочий магазин — від 1,5 до 2 тижнів. Складний проєкт з кастомною логікою — від 3 до 5 тижнів. Вартість базового інтернет-магазину — від $1500, складний проєкт — від $8000. Отримайте попередню оцінку: ми допоможемо зрозуміти, які модулі потрібні та скільки часу займе розробка. Зв'яжіться з нами для обговорення деталей.