sergeant / drupal-project
SGT 项目模板,用于 Drupal 10 项目,支持 Composer
Requires
- php: >=8.1.6
- composer/installers: ^2.1
- cweagans/composer-patches: ^1.7
- drupal/core: ^10
- drupal/core-composer-scaffold: ^10.0.0
- drupal/core-recommended: ^10.0.0
- drush/drush: ^12.4.3
- harvesthq/chosen: ^1.8
- sergeant/sgt_core: >=4.0.4
- sergeant/sgt_drupal_project_update: ~4.0
- sergeant/sgt_ignite: ~5.0
- sergeant/sgt_installation_profile: >=7.1
- vlucas/phpdotenv: ^5.1
- webflo/drupal-finder: ^1.2
- zaporylie/composer-drupal-optimizations: ^1.0
Requires (Dev)
- drupal/core-dev: ^10.0.0
Provides
Conflicts
- dev-8.x-sgt
- dev-10.x-sgt
- 8.x-dev
- 7.x-dev
- 7.1.0
- 7.0.7
- 7.0.5
- 7.0.4
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.2
- 6.0.1
- 6.0.0
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.17
- 4.0.16
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.1
- 4.0.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.1
- 3.0.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- dev-9.x-sgt
- dev-hash-salt
This package is auto-updated.
Last update: 2024-08-30 15:17:24 UTC
README
这是Composer 模板的分支,用于 Drupal 项目。所有关于此项目的文档都可以在提供的网址上找到。以下注释是对源文档的补充/覆盖。从分支项目中更新的内容必须手动实施。
主要维护者:Zan Vidmar (联系)
维护者:Aljosa Furlanic (联系)
使用方法
访问
为了成功安装 Sergeant 模块,需要读取 Sergeant 私有仓库的权限。
Sergeant 工作流程
安装 (!)
使用命令行生成器初始化项目
仅使用 composer 初始化项目
首先需要安装 composer。
- 之后,您可以创建项目
composer create-project sergeant/drupal-project:dev-10.x-sgt some-directory --stability dev --no-interaction
将 some-directory
替换为您希望项目所在的目录。
如果某些内容没有正确安装,请先尝试清除 composer 缓存(composer clear-cache
),然后报告问题。
-
使用安装配置文件安装 Drupal(所有操作都由 sgt_installation_profile 模块处理)。
-
创建新的清单
/admin/config/sergeant/sgt_checklist
并通过所有清单项。
设置
- 对于全局设置,请使用
/web/sites/*/settings.php
- 对于环境设置,请使用
/web/sites/*/settings.local.php
- 对于开发服务,请使用
/web/sites/default/local.services.yml
(请勿在生产环境中使用!)
开发 local.services.yml 示例
parameters:
session.storage.options: { gc_probability: 1, gc_divisor: 100, gc_maxlifetime: 200000, cookie_lifetime: 2000000 }
twig.config: { debug: true, auto_reload: true, cache: true }
renderer.config: { required_cache_contexts: ['languages:language_interface', theme, user.permissions], auto_placeholder_conditions: { max-age: 0, contexts: [session, user], tags: { } } }
http.response.debug_cacheability_headers: true
factory.keyvalue: { }
factory.keyvalue.expirable: { }
filter_protocols: [http, https, ftp, news, nntp, tel, telnet, mailto, irc, ssh, sftp, webcal, rtsp]
cors.config: { enabled: false, allowedHeaders: { }, allowedMethods: { }, allowedOrigins: ['*'], exposedHeaders: false, maxAge: false, supportsCredentials: false }
更新 Drupal 项目本身
这将更新 composer.json 文件中的某些设置以及一些其他与 Drupal 项目相关的文件。更新由 sergeant/sgt_drupal_project_update
处理;
要更新 Drupal 项目到最新版本:composer update_sgt_drupal_project
或更新到特定版本:composer update_sgt_drupal_project v3.0.5
保持 composer.json 文件中的 "repositories" 本地不变
如果您不希望更新 "repositories" 数据(例如:如果您仅更改特定项目的库版本)使用:添加 keep-local-repositories-data=true
标志。
示例 composer update_sgt_drupal_project keep-local-repositories-data=true
更新 (!)
每次当 Drupal 核心更新时,我们都必须更新 Drupal 模块 Sergeant 核心(sgt_installation_profile)。Sergeant 安装配置文件包含所有当前活动的 Drupal 核心和模块补丁,以及 Sergeant 安装配置文件所要求的模块。所有其他补丁必须在项目级别处理。
此模板为分支 drupal-composer/drupal-project 添加了什么
默认要求的包(及其依赖树)
以下依赖树中列出的所有模块都是默认要求的。sgt_installation_profille 模块处理所有其他所需的贡献 Drupal 模块。
Sergeant Drupal 项目(composer 项目)
- sgt_core(模块)
- sgt_checklist
- entity_creator_api
- sgt_handbook
- sgt_paragraphs
- sgt_field_paragraph_settings
- sgt_checklist
- sgt_ignite(主题)
- sgt_ignite_components
- sgt_ignite_features
- sgt_installation_profille(配置文件)
- 所有必需的 Drupal 模块
包含的仓库
这仅包括包源,安装是可选的,并且始终由开发者执行。
- 军士/sgt_devel
- 军士/sgt_filter_query_api
- 军士/sgt_media_colorbox_field_formatter
- 军士/sgt_media_crop
- 军士/sgt_tiles
包含的军士私有仓库
- 军士/sgt_entity_creator_api (仓库)
- 军士/sgt_checklist (仓库)
- 军士/sgt_core (仓库)
- 军士/devel (仓库)
- 军士/sgt_drupal_project_update (仓库)
- 军士/sgt_field_paragraph_settings (仓库)
- 军士/sgt_filter_query_api (仓库)
- 军士/sgt_handbook (仓库)
- 军士/sgt_ignite (仓库)
- 军士/sgt_ignite_components (仓库)
- 军士/sgt_ignite_features (仓库)
- 军士/sgt_installation_profile (仓库)
- 军士/sgt_media_colorbox_field_formatter (仓库)
- 军士/sgt_media_crop (仓库)
- 军士/sgt_paragraphs (仓库)
- 军士/sgt_tiles (仓库)
所需的贡献包(JavaScript库)
- harvesthq/chosen 通过 sgt_installation_profille => drupal/chosen 需要。Drupal项目composer.json文件包括drupal/chosen读取文件中提到的需求。(仓库,文档)
包含的贡献包(JavaScript库)
- gfranko/jquery.tocify.js
composer require gfranko/jquery.tocify.js
(仓库,文档) - jackmoore/colorbox
composer require jackmoore/colorbox
(仓库,文档)
Composer文件修改
安装器路径
安装器路径更改为非标准路径,以满足军士工作流程与军士模块和军士Ignite主题。
所有军士模块都放置在web/modules/sgt/
目录中。
"web/modules/sgt/{$name}": [
"sergeant/sgt_checklist",
"sergeant/sgt_core",
"sergeant/sgt_devel",
"sergeant/sgt_field_paragraph_settings",
"sergeant/sgt_filter_query_api",
"sergeant/sgt_handbook",
"sergeant/sgt_ignite_components",
"sergeant/sgt_ignite_features",
"sergeant/sgt_media_colorbox_field_formatter",
"sergeant/sgt_media_crop",
"sergeant/sgt_paragraphs",
"sergeant/sgt_tiles"
],
模块文件夹的结构
- contrib
web/modules/contrib/
(用于Drupal贡献模块,git忽略,由composer管理) - custom
web/modules/custom/
(用于每个项目的Drupal自定义模块,git管理) - sgt
web/modules/sgt/
(用于军士Drupal贡献模块,git忽略,由composer管理)
军士Ignite主题放置在web/themes/sgt_ignite/
目录中。
"web/themes/sgt_ignite/ignite_core": [
"sergeant/sgt_ignite"
],
军士安装配置文件放置在web/profiles/sgt/
目录中。
"web/profiles/sgt/{$name}": [
"sergeant/sgt_installation_profile"
]
其他修改
- 在
scripts/composer/ScriptHandler.php
文件中,将自定义文件夹("private","tmp")添加到$dir数组中。 - 在
extra
部分添加了"enable-patching": true
以接受依赖项的补丁(来源:composer-patches) - 使用chmod 0775而不是0777创建文件目录
- ScriptHandler(与相关的json自动加载=>类映射)具有额外的功能,可以将所有配置文件从Drupal标准配置文件复制到军士安装配置文件。
PHP版本
本模板默认需要至少PHP 8.1
DDEV设置
故障排除
如果拒绝访问私有仓库,可以通过ddev auth ssh
命令将密钥添加到ddev容器中