danielmme/commerce

Commerce 2.x

维护者

详细信息

github.com/danielmme/commerce

源代码

安装: 19

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 39

类型:项目

1.0.9 2020-06-05 21:25 UTC

README

使用 Composer 获取 Drupal + Commerce 2.x + 示例内容。

基于 drupalcommerce/project-base,加上一个 自定义主题示例内容

Belgrade product example

使用方法

首先您需要 安装 composer

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

之后您可以创建项目

composer create-project drupalcommerce/demo-project demo-commerce --stability dev --no-interaction

完成!使用 composer require ... 下载额外的模块和主题

cd some-dir
composer require "drupal/devel:1.x-dev"

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

快速入门

将文件放置好后,前往 install.php 安装 Drupal。

或者,您可以使用快速入门脚本

php scripts/quickstart

重新安装

php scripts/clean
php scripts/quickstart

模板能做什么?

  • Drupal 安装在 web 目录中。
  • 模块(类型为 drupal-module 的包)放置在 web/modules/contrib/
  • 主题(类型为 drupal-theme 的包)放置在 web/themes/contrib/
  • 配置文件(类型为 drupal-profile 的包)放置在 web/profiles/contrib/
  • 创建默认的可写版本的 settings.phpservices.yml
  • 创建 web/sites/default/files 目录。
  • 本地安装最新版本的 DrupalConsole,用于 bin/drupal

更新 Drupal 核心

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

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

  1. 运行 composer update drupal/core drupal/core-dev --with-dependencies 来更新 Drupal 核心及其依赖项。
  2. 运行 git diff 以确定是否有任何支架文件已更改。检查文件以确定任何更改,并将任何自定义更改恢复到 .htaccessrobots.txt
  3. 将所有内容合并到一个提交中,以便在检出分支或运行 git bisect 时,webcore 保持同步。
  4. 如果在第2步中出现非平凡冲突,您可能需要在分支上执行以下步骤,并使用git merge将更新的核心文件与您自定义的文件合并。这有助于使用kdiff3等三路合并工具。如果您所做的更改很简单,则无需此设置;将所有修改保持在文件的开始或结束部分是一种保持合并简单的好策略。

从现有项目中生成composer.json

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

常见问题解答

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

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

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

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

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

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

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

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

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

我应该如何使用composer.json添加js/css库?

由于asset-packagist仓库(https://asset-packagist.org/)的存在,您现在可以使用Composer使用前端库。

例如,要使用colorbox

composer require npm-asset/colorbox:"^0.4"

Composer将检测符合您约束条件的库的新版本。在上面的例子中,它将下载0.4.*系列的所有colorbox。

以这种方式管理库时,您可能不希望将其添加到版本控制中。在这种情况下,请将特定目录添加到.gitignore文件中。

# Specific libraries (which we manage with composer)
web/libraries/colorbox

有关更多详细信息,请参阅https://asset-packagist.org/site/about

我应该如何指定PHP版本?

此项目支持PHP 7.0作为最低版本(请参阅Drupal 8 PHP要求),然而,执行composer update可能会升级某些包,从而需要PHP 7+。

为了防止这种情况,您可以将以下代码添加到composer.json文件中的config部分,以指定您希望使用的PHP版本:

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