5.1. Загрузка и установка Drupal Commerce.

Ivan Abramenko 11/21/2019

В первую очередь, для установки Drupal Commerce нам потребуется Composer:

https://getcomposer.org/download/

Composer - это менеджер пакетов для PHP. Он позволяет подключить нужные PHP библиотеки, то есть скачивать и добавлять библиотеки в автозагрузку вашего проекта, в данном случае, сайта на Drupal 8. Drupal 8 уже содержит в себе многие стороние библиотеки, в частности, от фреймворка Symfony.

Обычно composer ставится без проблем, только не забудьте включить Open Server или другой локальный веб-сервер перед установкой Composer. Во время установки Composer просто жмите далее и далее и composer поставится сам.

Поэтому ставьте composer, после установки наберите в консоли:

composer --version

Должно будет появиться сообщение о том, какая версия compser у вас установлена.

$ composer --version
Composer version 1.4.1 2017-03-10 09:29:45

Вы можете пользоваться как встроенной в windows консолью CMD:

Drupal

Так и консолью Open Server:

drupal open server

О том, как пользоваться консолью я сделаю отдельный урок. Пока можете посмотреть видео, думаю, там будет достаточно команд, чтобы поставить Drupal Commerce.

После установки composer нужно будет поставить Drush. Drush - это консольная утилита для работы с Drupal через консоль. Очень удобно скачивать и включать модули именно через Drush, хотя правильнее скачивать модули сразу через composer, а потом включать через drush.

Чтобы поставить drush выполните следующую команду:

composer global require drush/drush:8.*

Вместо 8.* вы можете написать 9.* или какую-нибудь другую актуальную версию drush. Чтобы проверить, что drush поставился нормально, выполните команду:

drush version

У меня текущая версия 9.*:

$ drush version
 Drush version : 9.0-dev-g9ec6aa42

Возможно, у вас возникнут проблемы при установке Drush, Composer в Windows, воспользуйтесь этой инструкцией для настройки Drush в Open Server:

12.1. Установка Drush 8 на Open Server.

Теперь нам нужен Drupal 8, чтобы начать установку Drupal Commerce. Если у вас уже есть рабочий сайт на drupal 8, то можете пропустить установку друпала и сразу перейти к установке drupal commerce.

Я обычно качаю вручную с drupal.org ядро друпала и создаю еще один сайт на Open Server:

drupal files

Можно скачать drupal с помощью composer, тогда нужно будет прописать другой Document Root для сайта в настройках домена Open Server, но я предпочитаю простоту и чтобы не делать лишних настроек ставлю чистый друпал с drupal.org.

Устанавливаем друпал как обычно. Но можно использовать drush для более быстрой установки:

drush si --db-url=mysql://root:password@127.0.0.1/drupal --account-name=admin --account-pass=admin --site-mail=admin@example.com --site-name="Drupal 8" --locale=ru --yes

В нашем случае у нас нет пароля, поэтому у меня команда выглядит следующим образом:

drush si --db-url=mysql://root@127.0.0.1/commerce --account-name=admin --account-pass=admin --site-mail=admin@example.com --site-name="Drupal 8 Commerce" --locale=ru --yes

В параметрах мы задаем логин и пароль админа, а также его емайл. Если база данных commerce не создана, то drush сам ее создаст или затрет существующую базу данных commerce и запишет туда данные чистого друпала.

Установка через консоль займет минуты 3, но установка друпал через браузер стандартным способом со скачиванием переводов может занять минут 10, так что консоль значительно экономит время.

Перезапускаем Open Server и проверяем, что сайт на Drupal 8 работает:

Drupal установка

Теперь переходим непосредственно к установке Drupal commerce. Ставить будет commerce через composer. Заходим в консоли в папку нашего сайта и выполняем команду на добавление модуля commerce. Сначала добавляем в конфигурацию composer адрес, откуда качать модули друпал:

composer config repositories.drupal composer https://packages.drupal.org/8

Теперь добавляем сам Drupal Commerce:

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

Composer сам подтянет необходимые модули Drupal:

Друпал файлы

А также PHP библиотеки:

Drupal commerce

Теперь можно включать модули Commerce, Commerce Cart, Commerce Checkout, Commerce Price, Commerce Product, Commerce Store, Commerce Order:

drush en commerce commerce_cart commerce_checkout commerce_order commerce_price commerce_product commerce_store address entity inline_entity_form

Если какие-то модули не включатся через drush, то можно включить через админку:

Drupal commerce