seregatte / drupal-composer-boilerplate

适用于 Docker 的 Drupal 8 项目 Composer 模板

dev-master 2017-12-04 01:27 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:15:53 UTC


README

该项目模板应提供使用 Composer 管理站点依赖以及通过 DockerDocksal 构建基础设施的起点。

要求

  • Docker 1.11+ ->
  • Docker Composer 1.7+ ->
  • PHP cli 栈和 composer(可选) ->

使用方法

您可以通过 composer 或在 Docker 内部使用 composer 创建项目。

如果您有 PHP cli 栈和 composer,请尝试以下操作

composer create-project seregatte/drupal-composer-boilerplate some-dir --stability dev --no-interaction

或者如果您更喜欢通过 Docker 运行

docker run --rm -v $(pwd):/app composer/composer create-project seregatte/drupal-composer-boilerplate some-dir --stability dev --no-interaction

使用 composer require ... 或在 Docker 上运行相同命令,您可以下载新的依赖项到您的安装中。

cd some-dir
composer require drupal/ctools:8.*

或者

cd some-dir
docker run --rm -v $(pwd):/app composer/composer require drupal/ctools:8.*

模板做什么?

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

  • Drupal 将安装在 web 目录中。
  • 模块(类型为 drupal-module 的包)将放置在 web/sites/all/modules/contrib/
  • 主题(类型为 drupal-module 的包)将放置在 web/sites/all/themes/contrib/
  • 配置文件(类型为 drupal-profile 的包)将放置在 web/profiles/
  • Docker stack 将放置在 infrastructure/environment/development/docker
  • Makefile 将放置在项目的根目录中

常见问题解答

我应该提交我下载的 contrib 模块吗?

Composer 建议 要这样做。他们提供了 反对的理由,但也为项目决定这样做提供了解决方案。

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

如果您需要应用补丁(根据要修改的项目,pull request 通常是一个更好的解决方案),可以使用 composer-patches 插件。

要将补丁添加到 drupal 模块 foobar,请在 composer.json 的 extra 部分中插入 patches 部分

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