wieni/wmsettings

提供管理自定义设置的编辑器UI和开发者API

安装量: 16,519

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 6

分支: 1

开放问题: 3

类型:drupal-module

0.8.0 2023-09-12 15:22 UTC

README

Latest Stable Version Total Downloads License

提供管理自定义设置的编辑器UI和开发者API

为什么使用它?

提供编辑器UI和开发者API,用于设置/获取需要分散到各个地方但又不完全属于配置和实体的内容。

它是如何工作的?

技术上,您创建配置键(例如 globalsite-settings)。此键直接链接到settings实体类型中的一个特定包。

开发人员可以自由地在实体类型settings中创建包/字段,并创建键来引用它们。

添加配置

/admin/config/wmsettings上可以添加设置。设置实际上将机器名链接到特定的实体ID。实体将自动创建。

您也可以通过直接编写配置文件来添加配置,我想对那些敢于尝试的人。只需遵循wmsettings.schema.yml即可。

编辑器UI

编辑器的管理界面位于admin/content/wmsettings。注意

  • 编辑设置需要administer wmsettings content权限和settings实体类型的编辑权限
  • 编辑器应该只能编辑这些自动创建的实体。不要提供对设置实体创建/删除的直接访问。

开发者API

有多种方式可以访问键的实体。

1. 服务。

$entity = Drupal::service('wmsettings.settings')
    ->read('my_key');

2. 模块函数。

wmsettings_get('my_key');

3. 填充函数。

返回设置中所有值的快速扁平数组,给定字段名和字段类型。目前支持的字段类型不多。

$variables['copy'] = Drupal::service('wmsettings.settings')
    ->fill($global_copy, ['field_name' => 'textarea']);

为自定义路由的设置添加选项卡(本地任务)

Drupal至少需要两个任务才能显示它们,所以为了完整性,此示例也加载了两个任务

wmcustom.home_controller_home.home:
    title: 'View'
    route_name: wmcustom.home_controller_home
    base_route: wmcustom.home_controller_home
  
wmcustom.home_controller_home.edit:
    title: 'Edit'
    route_name: wmsettings.settings.redirect
    route_parameters:
        key:  'homepage'
        anchor: 'edit-group-hero-image'
        destination: 'wmcustom.home_controller_home'
    base_route: wmcustom.home_controller_home

变更日志

本项目的所有显著更改都将记录在CHANGELOG文件中。

安全

如果您发现任何与安全相关的问题,请通过电子邮件security@wieni.be报告,而不是使用问题跟踪器。

许可证

在MIT许可证下分发。有关更多信息,请参阅LICENSE文件。