jacerider/neo_config_file

提供在配置中存储文件的能力。

安装: 34

依赖: 2

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:drupal-module

1.0.5 2024-09-12 15:49 UTC

This package is auto-updated.

Last update: 2024-09-12 15:50:14 UTC


README

  • 简介
  • 要求
  • 安装
  • 工作原理
  • 注意

简介

提供在配置中存储文件的能力。

要求

此模块不依赖于Drupal核心之外的任何模块。

安装

按照您通常安装贡献的Drupal模块的方式安装。有关更多信息,请访问https://www.drupal.org/node/1897420

添加到 .gitignore

# Neo Config File
!/config/files/*

工作原理

使用 'neo_config_file' 元素,可以将上传表单添加到 FAPI。此元素将返回 neo 配置文件实体 ID,而不是文件实体 ID。这允许始终使用正确的文件,即使文件 ID 从一个环境更改为另一个环境。

$form['file'] = [
  '#type' => 'neo_config_file',
  '#title' => $this->t('File'),
  '#default_value' => $this->configuration['file'],
  '#extensions' => ['jpg', 'jpeg', 'png', 'gif'],
  '#dependencies' => [
    'module' => [
      'neo_style',
    ],
  ],
];

当上传文件时,将创建一个文件实体。当发生这种情况时,还将创建一个可导出的 neo 配置文件实体,该实体存储有关此文件实体的 uri 等信息。实际文件数据还临时存储在数据库中。此时,文件实体是一个临时文件。

当运行配置导出时,所有即将导出的 neo 配置文件实体都将将它们 uri 指向的文件克隆到配置目录中。在此期间,将清除任何数据库缓存数据,并将相关文件实体设置为永久。

当运行配置导入时,所有正在导入的 Neo 配置文件实体将根据需要创建文件实体,并将实际文件从配置目录克隆到公共文件目录。

如果已上传文件但未运行配置导出,我们将使用数据库缓存来重新创建文件。例如,如果远程环境上添加了新文件,并且立即从该数据库中拉取,则在这种情况下,我们具有文件实体和 neo 配置文件实体,但我们没有实际文件在配置或文件目录中。然而,文件已临时存储在数据库缓存中,当运行配置导出时,它将克隆到这两个目录中。

注意

对上传的文件没有使用跟踪,建议不要 重复使用 文件。通过 UI,当从 'neo_config_file' FAPI 元素中删除文件时,公共文件、文件实体和 neo 配置文件将被删除。配置文件将在下一次导出/导入之前持续存在。可以通过运行配置导入来恢复。