haringsrob/drupal-icecat-base

Icecat 项目模板

dev-master 2016-11-19 14:03 UTC

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.phpservices.yml 的默认可写版本。
  • 创建 sites/default/files 目录。
  • 将 DrupalConsole 的最新版本安装在本地,以便在 bin/drupal 下使用。

更新 Drupal 核心

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

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

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

常见问题解答(FAQ)

我是否应该提交我下载的 contrib 模块

Composer 建议不要这样做。他们提供了反对的理由,同时也提供了一些解决方案,如果项目决定无论如何都要这样做的话

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

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

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

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