drupaljedi/project

为使用composer的Drupal 8项目提供的模板

安装: 25

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 4

分支: 941

开放问题: 1

类型:项目

8.x-dev 2017-11-04 16:48 UTC

This package is auto-updated.

Last update: 2024-09-12 04:40:20 UTC


README

Build Status Total Downloads

此项目模板应该可以为使用Composer管理网站依赖提供一个起点。

用法

  1. 安装composer.
  2. 创建项目: composer create-project drupaljedi/project project_name --stability dev --no-interaction
  3. 执行 ./tools/scripts/before-install.sh project_name 命令以准备项目安装。
  4. 运行docker容器: cd provision/local && docker-compose up -d && cd -
  5. 安装Drupal: ./tools/scripts/install.sh

使用 composer require ... 你可以下载新的依赖到你的安装中。

cd project_name
composer require drupal/be_sure

composer create-project 命令将所有文件的拥有权传递给创建的项目。你应该创建一个新的git仓库,并将所有由 .gitignore 文件排除的文件提交。

模板做了什么?

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

  • Drupal将被安装在 docroot-目录。
  • 实现了自动加载器,使用 vendor/autoload.php 中的生成的composer自动加载器,而不是Drupal提供的自动加载器(drupal/vendor/autoload.php)。
  • 模块(类型为 drupal-module 的包)将被放置在 docroot/modules/contrib/
  • 主题(类型为 drupal-theme 的包)将被放置在 docroot/themes/contrib/
  • 配置文件(类型为 drupal-profile 的包)将被放置在 docroot/profiles/contrib/

更新Drupal核心

此项目将尝试保持所有Drupal核心文件都是最新的;使用drupal-composer/drupal-scaffold 项目确保每次更新 drupal/core 时,你的脚手架文件都会更新。如果你自定义了任何“脚手架”文件(通常是 .htaccess),那么在Drupal核心的新版本中更新你修改的文件时,你可能需要解决合并冲突。

按照以下步骤更新你的核心文件。

  1. 运行 composer update 来更新Drupal核心、contrib模块及其依赖。
  2. 运行 git diff 以确定是否有任何脚手架文件已更改。检查文件以查找任何更改,并将对 .htaccessrobots.txt 的任何自定义更改恢复。
  3. 将所有内容一起提交到一个单独的提交中,以便在检出分支或运行 git bisect 时,docrootcore 保持同步。

常见问题解答

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

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

我应该提交脚手架文件吗?

drupal-scaffold 插件可以将脚手架文件(如index.php、update.php等)下载到项目的docroot/目录。如果你没有自定义这些文件,你可以选择不将这些文件检入你的版本控制系统(例如git)。如果你的项目是这样的,在每次安装或更新项目后自动运行drupal-scaffold插件可能很方便。你可以通过在composer.json中将@drupal-scaffold注册为post-install和post-update命令来实现这一点。

"scripts": {
    "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
    "post-install-cmd": [
        "@drupal-scaffold",
        "..."
    ],
    "post-update-cmd": [
        "@drupal-scaffold",
        "..."
    ]
},

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

如果您需要应用补丁(根据要修改的项目,提交一个拉取请求通常是一个更好的解决方案),您可以使用 composer-patches 插件来操作。

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

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