drubb/drupal-simple

为 Drupal 8 项目和 Composer 提供的项目模板

dev-master 2018-12-31 19:18 UTC

This package is auto-updated.

Last update: 2024-09-29 05:14:38 UTC


README

该项目模板应提供使用 Composer 管理站点依赖的起点。基于优秀的 Drupal Composer 项目,它引入了一些修改

  • 移除了 Behat 或 PHPUnit 等开发依赖,您可以根据需要自行添加。
  • 公共和私有文件放置在 web 根目录之外。
  • 配置同步文件夹放置在 web 根目录之外。
  • 在安装过程中,使用本地设置文件来指向修改后的文件和配置位置。
  • 默认创建 "contrib" 和 "custom" 文件夹,用于模块、主题、库、配置文件和 Drush 插件。
  • 添加 Composer Parallel Install 插件以加快下载速度。
  • 添加 Composer Merge 插件以管理自定义模块的依赖关系。
  • 添加 Asset Packagist 仓库以管理 npm / bower 依赖。

用法

首先您需要 安装 composer

之后您可以创建项目

composer create-project -s dev drubb/drupal-simple some-dir

将 'some-dir' 替换为您项目根目录,或使用 '.' 代表当前目录。

如果您收到 Drupal 核心版本过时的错误,请检查您的 php 扩展。最新的核心版本可能需要额外的扩展。以下是如何检查的示例

composer why-not drupal/core:8.6.1

模板做了什么?

在安装指定的 composer.json 时,会处理一些任务

  • 当前稳定的 Drupal 8 版本将安装在 web 目录中。
  • 实现了自动加载器,使用 vendor/autoload.php 中的生成的 composer 自动加载器,而不是 Drupal 提供的自动加载器(web/vendor/autoload.php)。
  • 模块(类型为 drupal-module 的包)将放置在 web/modules/contrib/
  • 主题(类型为 drupal-theme 的包)将放置在 web/themes/contrib/
  • 配置文件(类型为 drupal-profile 的包)将放置在 web/profiles/contrib/
  • 库(类型为 drupal-library 的包)将放置在 web/libraries/contrib/
  • Drush 插件(类型为 drupal-drush 的包)将放置在 drush/contrib
  • 创建 settings.phpsettings.local.phpservices.yml 的默认可写版本。
  • 创建 sites/default/files 目录,使用符号链接指向 files/public
  • 在本地安装最新版本的 Drush,以便在 vendor/bin/drush 下使用。
  • 在本地安装最新版本的 Drupal Console,以便在 vendor/bin/drupal 下使用。

更新 Drupal 核心

此项目将尝试保持您的所有 Drupal 核心文件都是最新的;项目 drupal-composer/drupal-scaffold 用于确保每次 drupal/core 更新时,您的支架文件都会更新。如果您自定义了任何“支架”文件(例如 .htaccess 或 robots.txt),那么在 Drupal 核心的新版本发布中,如果有任何修改的文件被更新,您可能需要解决冲突。

按照以下步骤更新您的核心文件(在项目根目录下运行以下命令):

  1. 运行 composer update drupal/core --with-dependencies 更新 Drupal 核心和其依赖。
  2. 运行 git diff 检查是否有任何脚手架文件已更改。检查文件以查看任何更改,并将自定义修改恢复到例如 .htaccessrobots.txt。将您的更改提交到 git。

安装贡献模块

您可以使用 composer 的 require 命令添加贡献模块。示例:

composer require drupal/devel

在项目根目录下运行此命令。

更新贡献模块

您可以使用 composer 的 update 命令更新贡献模块。示例:

composer update drupal/devel --with-dependencies

在项目根目录下运行此命令。

使用 Composer 与自定义模块

您可以通过以下步骤将 Composer 支持添加到您的自定义模块(在模块文件夹中运行以下命令):

  • 在模块文件夹中添加一个基本的 composer.json 文件: composer init --n
  • 为您的自定义模块添加依赖: composer require mpdf/mpdf --no-update

在这个例子中,自定义模块使用了 mpdf PHP 库。标志 '--no-update' 通知 Composer 不要将库下载到自定义模块的文件夹中,因为我们需要将其存储在我们的项目的中央 vendor 文件夹中。Composer Merge 插件负责此操作,我们只需更新我们的主要 Composer 清单(composer.json)。

composer update --lock

在项目根目录下运行此命令。这将添加我们的自定义模块的依赖到主要 Composer 清单中。

我如何应用下载模块的补丁?

如果您需要应用补丁,您可以使用 composer-patches 插件。

要将补丁添加到 Drupal 模块 foobar,请将补丁部分插入到项目根目录的 composer.json 的 extra 部分

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL to patch"
        }
    }
}