haringsrob / drupal-icecat-base
Icecat 项目模板
Requires
- ext-curl: *
- composer/installers: ^1.0.20
- cweagans/composer-patches: ~1.0
- drupal-composer/drupal-scaffold: ^2.0.1
- drupal/console: ~1.0
- drupal/core: ~8.2.0
- drupal/icecat: 1.x-dev
Requires (Dev)
- behat/mink: ~1.7
- behat/mink-goutte-driver: ~1.2
- jcalderonzumba/gastonjs: ~1.0.2
- jcalderonzumba/mink-phantomjs-driver: ~0.3.1
- mikey179/vfsstream: ~1.2
- phpunit/phpunit: ~4.8
- symfony/css-selector: ~2.8
Conflicts
This package is auto-updated.
Last update: 2020-06-07 16:19:04 UTC
README
使用 Composer 获取包含所有依赖项的 Drupal + Icecat。
基于 drupal-composer/drupal-project。
使用方法
首先您需要 安装 Composer。
注意:以下说明针对 全局 Composer 安装。根据您的设置,您可能需要将
composer
替换为php composer.phar
(或类似)。
之后您可以创建项目
composer create-project haringsrob/drupal-icecat-base some-dir --stability dev --no-interaction
完成!使用 composer require ...
下载额外的模块和主题
cd some-dir
composer require "drupal/devel:1.x-dev"
composer create-project
命令将所有文件的所有权转让给创建的项目。您应该创建一个新的 Git 仓库,并提交所有由 .gitignore 文件排除的文件。
该模板的作用是什么?
- Drupal 被安装在
web
目录中。 - 模块(类型为
drupal-module
的包)放在web/modules/contrib/
- 主题(类型为
drupal-theme
的包)放在web/themes/contrib/
- 配置文件(类型为
drupal-profile
的包)放在web/profiles/contrib/
- 创建
settings.php
和services.yml
的默认可写版本。 - 创建
sites/default/files
目录。 - 将 DrupalConsole 的最新版本安装在本地,以便在
bin/drupal
下使用。
更新 Drupal 核心
此项目将尝试使所有 Drupal 核心文件保持最新;使用项目 drupal-composer/drupal-scaffold 确保每次 drupal/core 更新时,您的支架文件都会更新。如果您自定义了任何“支架”文件(通常是 .htaccess),则可能在 Drupal 核心新版本中更新了您的修改文件时需要解决合并冲突。
按照以下步骤更新您的核心文件。
- 运行
composer update drupal/core --with-dependencies
更新 Drupal 核心及其依赖项。 - 运行
git diff
以确定是否有支架文件已更改。审查文件以查找任何更改,并恢复对.htaccess
或robots.txt
的任何自定义设置。 - 将所有内容作为一个单独的提交提交,这样当检出分支或运行
git bisect
时,web
将与core
保持同步。 - 如果在步骤 2 中存在非平凡冲突,您可能希望在这些步骤上执行分支,并使用
git merge
将更新的核心文件与您的自定义文件合并。这便于使用类似 kdiff3 的三路合并工具。如果您的更改简单,则此设置不是必需的;保持所有修改在文件的开头或结尾是一个保持合并容易的好策略。
常见问题解答(FAQ)
我是否应该提交我下载的 contrib 模块
Composer 建议不要这样做。他们提供了反对的理由,同时也提供了一些解决方案,如果项目决定无论如何都要这样做的话。
我如何将补丁应用到下载的模块中?
如果你需要应用补丁(根据修改的项目,拉取请求通常是更好的解决方案),你可以使用 composer-patches 插件。
要将补丁添加到 drupal 模块 foobar,在 composer.json 的 extra 部分插入 patches 部分
"extra": { "patches": { "drupal/foobar": { "Patch description": "URL to patch" } } }