eelzee/eelzee-drupal-project

此包已被废弃,不再维护。未建议替代包。

为Eelzee Solutions开发而创建的drupal项目的分支。另请参阅drupal-composer/drupal-project

此包的官方仓库似乎已不存在,因此包已被冻结。

安装: 168

依赖者: 0

建议者: 0

安全: 0

类型:项目

此包尚无发布版本,信息不多。


README

此项目是Eelzee对drupal-project的分支。它为开发Eelzee Drupal 8站点提供入门套件。

安装和用法

有关更多信息,请参阅[Eelzee内部文档](@TODO:在此处添加文档链接)

以下为原始文档

Drupal项目的Composer模板

Build Status

此项目模板提供了使用Composer管理站点依赖项的入门套件。

如果您想了解如何将其用作Drush Make的替代方案,请访问drupal.org上的文档

用法

首先您需要安装Composer

注意:以下说明适用于全局Composer安装。您可能需要根据您的设置将composer替换为php composer.phar(或类似)。

之后您就可以创建项目

composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction

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

cd some-dir
composer require drupal/devel:~1.0

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

模板做了什么?

当安装给定的composer.json时,一些任务会自动完成

  • Drupal将安装在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/
  • 创建了默认的可写版本的settings.phpservices.yml
  • 创建了web/sites/default/files目录。
  • 在本地安装了最新的drush版本,以便在vendor/bin/drush中使用。
  • 在本地安装了最新的DrupalConsole版本,以便在vendor/bin/drupal中使用。
  • 根据您的.env文件创建环境变量。请参阅.env.example

更新Drupal核心

此项目将尝试保持所有Drupal核心文件的最新状态;项目drupal-composer/drupal-scaffold用于确保每次drupal/core更新时,您的模板文件都会更新。如果您自定义了任何“模板”文件(通常为.htaccess),则在新版本的Drupal核心发布中更新了您的修改文件时,您可能需要解决合并冲突。

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

  1. 运行composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies以更新Drupal核心及其依赖项。
  2. 运行git diff以确定任何脚手架文件是否已更改。检查文件以确定更改,并将对.htaccessrobots.txt的任何自定义设置恢复。
  3. 将所有内容一起提交为一个单独的提交,这样在检出分支或运行git bisect时,web将始终与core保持同步。
  4. 如果第2步中存在非平凡冲突,您可能希望在分支上执行这些步骤,并使用git merge将更新的核心文件与您的自定义文件合并。这有助于使用像kdiff3这样的三向合并工具。如果您的更改很简单,则不需要此设置;将所有修改保持在文件的开头或结尾是一个很好的策略,以便合并变得容易。

从现有项目生成composer.json

使用"Composer Generate" drush扩展,您现在可以从现有项目生成基本的composer.json文件。请注意,生成的composer.json可能与本项目文件不同。

常见问题解答(FAQ)

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

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

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

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

"scripts": {
    "post-install-cmd": [
        "@composer drupal:scaffold",
        "..."
    ],
    "post-update-cmd": [
        "@composer drupal:scaffold",
        "..."
    ]
},

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

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

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

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

我如何从packagist.drupal-composer.org切换到packages.drupal.org?

遵循drupal.org上的说明

我如何指定PHP版本?

目前,Drupal 8支持PHP 5.5.9作为最低版本(见Drupal 8 PHP要求),然而,可能有一个composer update会升级某些包,然后需要PHP 7+。

为了防止这种情况,您可以在composer.jsonconfig部分添加以下代码以指定您希望使用的PHP版本。

"config": {
    "sort-packages": true,
    "platform": {"php": "5.5.9"}
},