openeuropa/open_vocabularies

选择内容将被如何分类,无需更改相关内容类型字段定义。

安装次数: 39,755

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 15

分支: 0

开放问题: 5

类型:drupal-module

1.0.0-beta2 2024-02-14 13:46 UTC

README

Open Vocabularies 模块允许用户选择内容如何分类,而无需更改相关内容类型字段定义。它是通过提供以下功能实现的:

  • 一个开放词汇字段类型
  • 创建开放词汇字段类型与 Drupal 分类系统(如 Drupal 分类法、出版物办公室词汇表或其子集)之间关联的可能性。

一旦内容类型配备了开放词汇字段,具有适当访问权限的用户可以通过创建关联来决定该字段将能够引用哪种类型的实体。

开发环境配置

您可以通过以下步骤构建开发站点:

  • 安装 Composer 依赖项
composer install

在执行 composer install 后,将自动触发一个后命令钩子(drupal:site-setup)。这将将在测试站点内正确的目录中创建模块的符号链接,并在测试配置文件(如 behat.yml.dist)中执行令牌替换。

请注意:项目文件和目录是通过使用 OpenEuropa 任务运行器的 Drupal 项目符号链接命令 在测试站点内创建符号链接的。

如果您在项目根目录中添加了新的文件或目录,您需要重新运行 drupal:site-setup 以确保它们被正确符号链接。

如果您不想重新运行完整的站点设置,您可以简单地运行:

$ ./vendor/bin/run drupal:symlink-project
  • 通过运行以下命令安装测试站点
$ ./vendor/bin/run drupal:site-install

开发站点的 Web 根目录应在 build 目录中可用。

使用 Docker Compose

或者,您可以使用提供的配置使用 DockerDocker Compose 构建开发站点。

Docker 提供了必要的服务和技术,如 Web 服务器和数据库服务器,以运行站点,无论您的本地主机配置如何。

要求

配置

默认情况下,Docker Compose 读取两个文件,一个是 docker-compose.yml 文件,另一个是可选的 docker-compose.override.yml 文件。按照惯例,docker-compose.yml 包含您的基配置,并默认提供。如文件名所示,覆盖文件可以包含现有服务或完全新的服务的配置覆盖。如果一个服务在两个文件中都定义了,Docker Compose 将合并配置。

有关 Docker Compose 扩展机制的更多信息,请参阅 官方 Docker Compose 文档

用法

要开始,请运行

docker-compose up

建议不要将 docker-compose 守护,这样您可以在完成工作后快速关闭它(按 CTRL+C)。但是,如果您想守护它,您必须添加标志 -d

docker-compose up -d

然后

docker-compose exec web composer install
docker-compose exec web ./vendor/bin/run drupal:site-install

使用默认配置,开发站点的文件应位于build目录中,开发站点可通过以下地址访问:http://127.0.0.1:8080/build

运行测试

运行grumphp检查

docker-compose exec web ./vendor/bin/grumphp run

运行phpunit测试

docker-compose exec web ./vendor/bin/phpunit

运行behat测试

docker-compose exec web ./vendor/bin/behat

步骤调试

要从命令行启用步骤调试,请将任何值传递给容器的XDEBUG_SESSION环境变量

docker-compose exec -e XDEBUG_SESSION=1 web <your command>

请注意,从XDebug 3开始,如果设置了变量但您的客户端没有监听调试连接,控制台将输出连接错误消息。错误消息将导致PHPUnit测试出现假阴性。

要从浏览器中启动步骤调试,请使用浏览器扩展或书签工具(如通过https://www.jetbrains.com/phpstorm/marklets/生成的工具)设置正确的cookie。

贡献

请阅读完整文档以获取有关我们行为准则和向我们提交pull请求的流程的详细信息。

版本控制

我们使用SemVer进行版本控制。有关可用版本,请参阅此存储库上的标签