acromedia/ drupal-orange-project
提供模板,通过Composer创建新的Drupal 9项目。
Requires
- ext-curl: *
- bgrins/spectrum: master
- ckeditor/ckeditor: 4.11.4
- ckeditor/colorbutton: 4.7.3
- ckeditor/font: 4.7.3
- ckeditor/panelbutton: 4.7.3
- composer/installers: ^1.9
- cweagans/composer-patches: ^1.7
- dimsemenov/magnific-popup: master
- drupal/console: ^1.9
- drupal/core: ^9
- drupal/core-composer-scaffold: ^9
- drupal/orange_ecom_profile: ^2.0@alpha
- drupal/orange_profile: 2.0.0-alpha1
- drush/drush: ^10
- recurser/jquery-simple-color: master
- simeydotme/jquery-ui-slider-pips: v1.11.3
Requires (Dev)
- drupal/core-dev: ^9
Conflicts
This package is auto-updated.
Last update: 2024-09-07 22:33:54 UTC
README
此项目模板应提供使用Composer管理网站依赖项的起点。
注意:目前仅测试了与Composer 1.x的兼容性。Composer 2.x兼容性将在不久的将来加入路线图。
使用方法
首先您需要安装Composer。
注意:以下说明适用于全局Composer安装。您可能需要根据您的设置将
composer
替换为lando composer
(或类似)。
之后您可以创建项目
composer create-project acromedia/drupal-orange-project some-dir --stability dev --no-interaction
使用lando composer require ...
,您可以下载新的依赖项到您的安装中。
cd some-dir
composer require drupal/devel:~1.0
composer create-project
命令将所有文件的所有权传递给创建的项目。您应该创建一个新的git仓库,并提交所有未被.gitignore文件排除的文件。
Orange配置文件
一些帮助您开始的文档。
从Drupal Commerce开始构建Drupal?
不需要Drupal Commerce的Drupal构建?
应用补丁
- Drupal核心
- 颜色字段
- 电子商务Google Tag Manager
应用Web库
- CKEditor媒体嵌入插件
ckeditor/ckeditor
/web/libraries/ckeditor
- CKEditor颜色按钮
ckeditor/colorbutton
/web/libraries/colorbutton
- CKEditor字体
ckeditor/font
/web/libraries/font
- CKEditor面板按钮
ckeditor/panelbutton
/web/libraries/panelbutton
- 颜色字段的颜色选择器
bgrins/spectrum
/web/libraries/spectrum
- 放大弹出窗口
dimsemenov/magnific-popup
/web/libraries/magnific-popup
模板做什么?
安装给定的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.php
和services.yml
。 - 创建
web/sites/default/files
目录。 - 在本地安装 drush 的最新版本,用于
vendor/bin/drush
。 - 在本地安装 DrupalConsole 的最新版本,用于
vendor/bin/drupal
。
更新 Drupal 核心版本
此项目将尝试保持所有 Drupal 核心文件的最新状态;使用 drupal/core-composer-scaffold 项目确保每次 drupal/core 更新时,您的模板文件都会更新。如果您自定义了任何“模板”文件(通常是 .htaccess),那么在 Drupal 核心的新版本中更新了您修改的文件时,您可能需要解决冲突。
按照以下步骤更新您的核心文件。
- 运行
composer update drupal/core-recommended --with-dependencies
以更新 Drupal 核心和其依赖项。 - 接下来,使用
drush updb
应用任何必需的数据库更新,并使用drush cr
清除缓存。 - 确保在数据库更新后使用
drush cex
导出配置,因为一些核心更新可能会更改配置文件的结构或向其中引入新值。添加选项--diff
以查看实际更改。 - 运行
git diff
以确定是否有任何模板文件已更改。检查文件以查找任何更改,并将对.htaccess
或robots.txt
的任何自定义更改恢复。 - 将所有内容合并到一个提交中,以便在检出分支或运行
git bisect
时,web
与core
保持同步。 - 如果在第 4 步中出现非平凡冲突,您可能希望在分支上执行这些步骤,并使用
git merge
将更新的核心文件与您的自定义文件合并。这有助于使用 kdiff3 等三方合并工具。如果您的更改很简单,则不需要此设置;将所有修改放在文件的开始或结尾是一个使合并变得容易的好策略。
从现有项目生成 composer.json
使用 “Composer Generate” drush 扩展,您现在可以从现有项目生成基本的 composer.json
文件。请注意,生成的 composer.json
可能与此项目的文件不同。
常见问题解答(FAQ)
我应该提交我下载的 contrib 模块吗?
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", "..." ] },
我如何应用下载的模块的补丁?
如果您需要应用补丁(根据要修改的项目,pull request 常常是一个更好的解决方案),您可以使用 composer-patches 插件。
要将补丁添加到foobar Drupal模块中,请在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版本?
此项目支持PHP 7.2作为最低版本(请参阅Drupal 8 PHP要求),但是执行composer update
可能会升级某些包,从而需要PHP 7+。
为防止这种情况,您可以在composer.json的config
部分添加以下代码,以指定您要使用的PHP版本。
"config": { "sort-packages": true, "platform": { "php": "7.3" } },