kerasai/drupal-config-importer

此包的最新版本(1.0.0)没有可用的许可信息。

导入 Drupal 配置的实用工具。

1.0.0 2023-09-06 14:06 UTC

This package is auto-updated.

Last update: 2024-09-06 19:18:15 UTC


README

导入 Drupal 配置的实用工具。

您可能发现此功能有其他用途,但最初它是为了在更新钩子中使用而开发的。通常假定在部署期间,您会在配置导入之前运行数据库更新,因为在更新钩子中有更多的灵活性。这导致需要大量丑陋的代码来“草拟”更新钩子所依赖的必要配置。

用法

例如,您可能希望在部署时自动填充article_types分类词汇。如果该分类词汇不存在,则需要在其术语填充之前创建它。

使用此配置导入器,这样操作非常简单

taxonomy.vocabulary.article_types.yml文件复制到my_module内的config/update/8003文件夹中。这允许词汇以精确/已知值安装,不会受到未来更改的影响。

然后添加更新钩子和填充代码

function my_module_update_8003() {
  $path = drupal_get_path('module', 'my_module') . '/config/update/8003';
  $i = Kerasai\DrupalConfigImporter\ConfigImporter::create();
  $i->import('taxonomy.vocabulary.article_types', $path);
  _my_module_populate_article_types();
}

function _my_module_populate_article_types() {
  // Add article_types taxonomy terms here.
}

附加功能

要获得一个准备就绪的导入器,只需调用Kerasai\DrupalConfigImporter\ConfigImporter::create静态方法。这将使用必要的 Drupal 服务创建一个导入器。然后,您可以使用::import方法通过配置 ID(文件名,减去.yml)导入配置。

导入器的::import方法内置了逻辑,以确定正在导入的配置是否是第一类 ConfigEntity 或一般的“简单”配置。或者,您也可以调用导入器的::importConfig::importConfigEntity方法。