davyin / dyniva-project
基于 Dyniva 分发的 Drupal 8 网站项目模板。
Requires
- cweagans/composer-patches: ^1.7
- davyin/drupal_settings: dev-main
- davyin/dyniva: 2.2.x-dev
- drupal/console: ^1.9
- oomphinc/composer-installers-extender: ^1.1 || ^2.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-28 08:24:42 UTC
README
Composer 模版,初始化 dyniva 发行版。
更多细节请查看dyniva
使用
先安装 composer。
安装成功后创建项目,初始化安装
composer create-project davyin/dyniva-project dyniva-project --stability dev --no-interaction
cd dyniva-project
composer install
drush si dyniva --site-name="Dyniva Project" --db-url=mysql://mysql-user:mysql-password@mysql-host:3306/dyniva_project --account-pass=admin -y
如果需要引入其他 Drupal 模块/主题,使用 composer require ...
下载安装
cd dyniva-project
composer require "drupal/devel:1.x-dev"
composer create-project
命令将所有文件的所有权转让给创建的项目。你应该创建一个新的 Git 仓库,并将所有由 .gitignore 文件排除的文件提交。
该项目做了什么?
- Drupal 安装在
docroot
目录。 - drupal官方模块(类型为
drupal-module
的包)放置在docroot/modules/contrib/
- dyniva自定义模块(类型为
drupal-custom-module
的包)放置在docroot/modules/custom/
- drupal官方主题(类型为
drupal-theme
的包)放置在docroot/themes/contrib/
- dyniva自定义主题(类型为
drupal-custom-theme
的包)放置在docroot/themes/custom/
- 配置文件(类型为
drupal-profile
的包)放置在docroot/profiles/contrib/
- dyniva自定义配置文件(类型为
drupal-custom-profile
的包)放置在docroot/profiles/custom/
- 创建默认可写版本的
settings.php
和services.yml
。 - 创建
docroot/sites/default/files
目录。 - 最新版本的 drupal console 安装在
bin/drupal
。 - 删除项目非根目录下的.git(因为有些模块通过 branch 引入的,如果不删除会生成.git文件,导致git提交的时候为git submodule,这样在部署的时候会带来很多麻烦)
- 安装 ergebnis/composer-normalize 插件,在执行 composer update/install 之后自动会对 composer.json 进行格式化(使用4个空格的缩进)
常见问题解答
补丁管理
使用cweagans/composer-patches来管理补丁。使用本项目的补丁通过 composer.json 引入,强烈不建议通过单独的补丁文件管理。 例如,给 Drupal core 打补丁,可以参考如下格式: composer.json 中的 section
"extra": { "patches": { "drupal/foobar": { "Patch description": "URL to patch" } } }
Drupal 内核版本说明
该项目不限定 Drupal 内核版本,版本受 dyniva 约束。具体可以查看Dyniva说明。
如何使用 composer.json 添加 js/css 库?
通过 asset-packagist 仓库(https://asset-packagist.org/)可以使用 composer 使用前端库。
例如,要使用 colorbox
composer require npm-asset/colorbox:"^0.4"
Composer 将检测满足您约束的库的新版本。在上面的例子中,它将下载 colorbox 的 0.4.* 系列中的任何内容。
当以这种方式使用 composer 管理库时,您可能不想将其添加到版本控制中。在这种情况下,请将特定目录添加到 .gitignore 文件中。
# Specific libraries (which we manage with composer)
web/libraries/colorbox
有关更多详细信息,请参阅 https://asset-packagist.org/site/about
如何指定 PHP 版本?
要防止此情况,您可以在 composer.json 的 config
部分添加以下代码来指定您想要使用的 PHP 版本
"config": { "sort-packages": true, "platform": { "php": "7.2.22" } },