Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

09.08.2016
Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів
Автор:

Інтернет-магазини у Drupal 8 — цікава тема для багатьох розробників. Якщо ви — серед них, то вам пощастило: наш Drupal-девелопер написала блог про модуль Commerce 2.x, який ми раді вам запропонувати. Після статей наших розробників про темізацію, створення попапів, побудову модулів у Drupal 8 та багато іншого, ця стаття ідеально доповнить картину. Тож надаємо слово автору.

Drupal Commerce — популярний модуль для створення інтернет-магазинів різної складності, який "з коробки" дозволяє налаштувати магазин з базовим функціоналом. У даній статті представлений короткий огляд Commerce 2.x для Drupal 8.

Встановлення

Перед встановленням переконайтеся, що на вашому сервері встановлено менеджер залежностей Composer. Commerce у восьмій версії Drupal вимагає встановлення бібліотек, які тепер встановлюються не вручну, а за допомогою Composer'а.

Ви можете встановити Drupal, а також Commerce разом із залежними модулями і бібліотеками за допомогою команди:

 composer create-project drupalcommerce/project-base mystore --stability dev

Все буде встановлено в папку mystore.

Далі потрібно відкрити сайт в браузері і завершити процес встановлення.

http://mystore/web/core/install.php

Після цього Commerce і залежні модулі та бібліотеки будуть увімкнені.

Якщо ви поглянете на структуру папок, то побачите, що ядро Drupal і модулі знаходяться в папці mystore/web, Drupal Console — в mystore/vendor/bin, Drush — в mystore/drush. Приклад команди для встановлення нових модулів:

 composer require "drupal/devel:8.1.x-dev"

Оновлення існуючих модулів:

 composer update drupal/address

Якщо вам потрібно встановити Commerce на існуючий сайт, то скористайтеся командою (в корені сайту):

 composer config repositories.drupal composer https://packagist.drupal-composer.org

Ця команда знайде Commerce та інші необхідні модулі та бібліотеки.

Встановлення виконується командою:

 composer require "drupal/commerce 8.2.x-dev"

Потім потрібно встановити Drupal Console, якщо вона ще не встановлена. Drupal Console — це новий інтерфейс командного рядка для Drupal, який дозволяє генерувати шаблони коду, виконувати debugging та ін.

Встановлення Drupal Console:

 curl https://drupalconsole.com/installer -L -o drupal.phar

Команда для встановлення без Curl:

 php -r "readfile('https://drupalconsole.com/installer');" > drupal.phar

mv drupal.phar /usr/local/bin/drupal
chmod +x /usr/local/bin/drupal
drupal init --override
drupal check

Тепер вмикаємо модулі, використовуючи Drupal Console:

drupal module:install commerce_product commerce_checkout commerce_cart commerce_tax

Після завершення успішного встановлення ви побачите повідомлення:

 [OK] The following module(s) were installed successfully: commerce_product, commerce_checkout, commerce_cart,          
 commerce_tax, commerce, address, entity, inline_entity_form, commerce_price, commerce_store, commerce_order, profile,  
 state_machine

Налаштування в адміністративному інтерфейсі

Заходимо на сторінку налаштування Commerce (admin/commerce/config).

1. Валюта

По-перше, потрібно обрати валюту магазину (admin/commerce/config/currency). За замовчуванням список валют порожній (ви побачите напис There is no Currency yet.). Список валют потрібно імпортувати. На сторінці імпорту валют (admin/commerce/config/currency/import) оберемо потрібні.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

Валюти зберігаються в бібліотеці, яка вже встановилася разом з модулями. Тепер на сторінці Сurrency ми бачимо список валют.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

2. Магазин

Переходимо до створення магазину.

У Commerce 1.x (в Drupal 7) сутності "магазин" не було, а у версії для Drupal 8 ви можете створити кілька магазинів, які можуть відрізнятися валютами, налаштуваннями податків, країнами, в які здійснюється доставка і т.д.

За замовчуванням є один тип магазину — default. Але ви можете створювати свої типи магазинів (на сторінці admin/commerce/config/store-types) і додавати різні поля.

На сторінці admin/commerce/stores натискаємо Add new store.

На цьому кроці конфігуруємо магазин: вказуємо назву, email, країну, валюту та інші налаштування.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

3. Товари

Тут треба зазначити відмінність від Drupal Commerce 1.x (для Drupal 7). У Commerce 2.x з'явилися суті (entity) Product і ProductVariation. Product замінює собою product display з Commerce 1.x (тип ноди, яка була пов'язана з товарами). ProductVariation — це аналог Commerce Product. Таким чином, як і в Drupal 7, ми можемо для одного товару (Product entity) створити багато різних (ProductVariation entities). Наприклад, "плаття" — це товар, у якого може бути багато варіантів товару (наприклад, різного розміру і кольорів). Розмір і колір — це атрибути товару. Набір атрибутів товару визначає варіант товару.

3.1 Product Attributes (атрибути товару)

В першу чергу створимо атрибути товару. На сторінці Product Attributes (admin/commerce/product-attributes) додаємо свій атрибут (наприклад, розмір товару) і обираємо значення, які він може приймати. Для прикладу додамо "розмір".

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

3.2 Product variations

Потім на сторінці Product variation types (admin/commerce/config/product-variation-types) обираємо варіант товару Default (або створюємо свій) і додаємо цей атрибут в варіант.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

Варіант товару може містити кілька атрибутів.

Всі атрибути варіанти товару ви знайдете в списку полів (admin/commerce/config/product-variation-types/default/edit/fields)

У нашому прикладі у варіанту Default поки один атрибут — "розмір". Це поле, яке можна змінювати, як і інші поля. Натиснувши кнопку Edit, переходимо в редагування.

Для прикладу встановимо значення за замовчуванням.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

При створенні нового типу варіантів товару ви можете використовувати вже створені атрибути.

Варіант товару може містити як різні поля різних типів (текстові, числові ...), так і інші сутності. Додати нове поле можна на сторінці:

admin/commerce/config/product-variation-types/VARIANT_NAME/edit/fields/add-field

3.3 Product

Для створення продукту перейдемо на сторінку admin/commerce/products

Створення нового продукту схоже на створення ноди. Потрібно вказати назву продукту, при необхідності, опис (також у продукту, як і в іншої сутності, можуть бути й інші поля), а далі — створити варіанти товару. При створенні варіантів потрібно вказати SKU, ціну, а також заповнити поля (наприклад, поле "розмір", яке ми створили раніше). У підсумку вийде товар Dress і варіанти цього товару різних розмірів.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

Ви можете створювати типи товарів і створювати поля для них на сторінці admin/commerce/config/product-types

Ось так тепер виглядає наш перший товар.

Drupal 8: огляд модуля Commerce 2.x для створення інтернет-магазинів

Налаштувати порядок полів і їх відображення можна на сторінці admin/commerce/config/product-types/TYPE_NAME/edit/form-display

Ми зробили базове налаштування інтернет-магазину. Модуль Drupal Commerce 2.x підтримує безліч можливостей для реалізації популярних функцій. Це, наприклад, податки (суб-модуль Tax), можливість налаштування типів замовлень і процесів оформлення замовлень (суб-модуль Workflow), також на момент написання статті ведеться робота над реалізацією функціоналу знижок.

Детальніше про Commerce 2.x ви можете прочитати за наступними посиланнями:

https://commerceguys.com/

http://docs.drupalcommerce.org/

4 votes, Рейтинг: 5

Також по темі

1

Ось одне з рішень, що значно спрощує життя адміністратора Друпал-сайту. Це — модуль Inline Entity Form, і він був нещодавно портований у Drupal 8. Читайте далі і дізнавайтеся більше.

2

З-поміж багатьох блискучих новинок Drupal 8 є одна особлива, блиск якої не одразу буде помітний усім. Йдеться...

3

Є чудова технологія, завдяки якій ви не змушуватимете відвідувачів сайту чекати. Тож давайте знайомитись із новим модулем Drupal 8 для підвищення швидкодії сайту: BigPipe.

4

Минулого місяця ми пропонували вам розглянути добірку чудових контрибних модулів для Drupal 8 за травень...

5

Стаття для Drupal-розробників від Drupal-розробника InternetDevels! У цій статті ми розглянемо процес створення модуля під Drupal 8. Отже, почнемо.

Subscribe to our blog updates