5.1. 下载与安装 Drupal Commerce
首先,要安装 Drupal Commerce,我们需要安装 Composer:
https://getcomposer.org/download/
Composer 是 PHP 的包管理器。它可以让你连接并下载所需的 PHP 库,并自动将这些库加入项目的自动加载中,在本例中,就是我们的 Drupal 8 网站。Drupal 8 本身已经包含了许多第三方库,尤其是来自 Symfony 框架的组件。
一般情况下,Composer 安装起来没有问题,只要在安装前启动 Open Server 或其他本地 Web 服务器即可。安装过程中只需一路点击“下一步”,Composer 会自动安装完成。
安装完 Composer 后,在命令行输入以下命令查看版本:
composer --version
如果出现如下输出,就说明安装成功:
$ composer --version Composer version 1.4.1 2017-03-10 09:29:45
你可以使用 Windows 自带的 CMD 控制台:
也可以使用 Open Server 自带的控制台:
关于如何使用控制台,我会在单独的课程中讲解。目前你可以先看视频,里面包含了安装 Drupal Commerce 所需的全部命令。
安装完 Composer 后,我们还需要安装 Drush。Drush 是一个用于 Drupal 的命令行工具,可以非常方便地通过命令下载和启用模块。虽然更推荐用 Composer 下载模块,但启用模块时使用 Drush 会更方便。
安装 Drush 的命令如下:
composer global require drush/drush:8.*
你也可以将 8.* 替换为 9.* 或其他最新版本。安装完成后,可以通过以下命令验证:
drush version
我的版本是 9.*:
$ drush version Drush version : 9.0-dev-g9ec6aa42
如果在 Windows 安装 Drush 或 Composer 时出现问题,可以参考这篇教程来在 Open Server 中正确配置 Drush:
12.1. 在 Open Server 上安装 Drush 8
接下来我们需要 Drupal 8 本体来开始安装 Drupal Commerce。如果你已经有一个运行中的 Drupal 8 网站,可以跳过这一步,直接安装 Commerce 模块。
我通常从 drupal.org 手动下载 Drupal 核心并在 Open Server 中创建新站点:
你也可以使用 Composer 下载 Drupal,但那样需要在 Open Server 的域名设置中修改 Document Root。我更喜欢手动安装 Drupal,以避免额外配置。
像平常一样安装 Drupal。不过我们也可以使用 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 会自动创建;如果已存在,它会被清空并重新写入新的 Drupal 数据。
通过命令行安装大约需要 3 分钟,而通过浏览器安装并下载语言包可能要 10 分钟以上,所以使用 Drush 可以节省大量时间。
安装完成后重启 Open Server,并确认 Drupal 8 网站能正常打开:
现在我们可以开始安装 Drupal Commerce 了。通过 Composer 安装。在命令行进入网站根目录后,先添加 Drupal 模块源地址:
composer config repositories.drupal composer https://packages.drupal.org/8
接着添加 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 启用,可以进入后台手动启用: