5.1. Загрузка и установка Drupal Commerce.
В первую очередь, для установки 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:
Так и консолью 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 с помощью 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 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 библиотеки:
Теперь можно включать модули 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, то можно включить через админку: