danielmme / commerce
Commerce 2.x
Requires
- php: >=7.0.8
- ext-curl: *
- composer/installers: ^1.2
- cweagans/composer-patches: ^1.6.5
- danielmme/commerce_demo_br: ^1.0
- danielmme/commerce_pagseguro_v2: ^1.0
- danielmme/commerce_profile_br: dev-master
- drupal/admin_toolbar: ^2.0
- drupal/belgrade: 1.x-dev
- drupal/commerce: ^2.18
- drupal/commerce_cart_api: ^1.0
- drupal/commerce_cart_flyout: ^1.0
- drupal/commerce_checkout_order_fields: ^1.0
- drupal/commerce_shipping: ^2.0
- drupal/console: ^1.0.2
- drupal/core: ^8.8.0
- drupal/core-composer-scaffold: ^8.8.0
- drupal/devel: ^2.1
- drupal/swiftmailer: ^2.0
- drupal/token: ^1.0
- oomphinc/composer-installers-extender: ^1.1
- webflo/drupal-finder: ^1.0.0
- webmozart/path-util: ^2.3
- zaporylie/composer-drupal-optimizations: ^1.0
Requires (Dev)
- drupal/core-dev: ^8.8.0
Conflicts
This package is auto-updated.
Last update: 2024-09-22 23:42:27 UTC
README
使用 Composer 获取 Drupal + Commerce 2.x + 示例内容。
基于 drupalcommerce/project-base,加上一个 自定义主题 和 示例内容。
使用方法
首先您需要 安装 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.php
和services.yml
。 - 创建
web/sites/default/files
目录。 - 本地安装最新版本的 DrupalConsole,用于
bin/drupal
。
更新 Drupal 核心
此项目将尝试保持您的所有 Drupal 核心文件是最新的;项目 drupal/core-composer-scaffold 用于确保每次 drupal/core 更新时,您的支架文件都会更新。如果您自定义了任何“支架”文件(通常为 .htaccess),您可能需要在 Drupal 核心新版本发布后解决任何修改文件的合并冲突。
按照以下步骤更新您的核心文件。
- 运行
composer update drupal/core drupal/core-dev --with-dependencies
来更新 Drupal 核心及其依赖项。 - 运行
git diff
以确定是否有任何支架文件已更改。检查文件以确定任何更改,并将任何自定义更改恢复到.htaccess
或robots.txt
。 - 将所有内容合并到一个提交中,以便在检出分支或运行
git bisect
时,web
与core
保持同步。 - 如果在第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" } },