创建和配置自定义用户字段

使用 dsc 创建带有大量选项的 Discourse 多选用户字段

在 Discourse 的自定义用户字段编辑器中逐一输入数十甚至数百个选项非常繁琐。我一直在开发一个名为 dsc 的多用途 Discourse 命令行工具,它利用本地文件让此类操作变得更加简便且具有确定性。操作自定义用户字段只是其众多功能之一。

dsc 可以从 YAML 文件创建新的自定义用户字段,并在单次操作中包含整个有序选项列表。ucf 命令是 user-field 的别名。

首先,列出你现有的自定义用户字段:

dsc ucf list myforum --format yaml

这将显示它们的 ID、类型、选项和设置。

准备字段

创建 user-fields.yaml 文件,并将源 URL、问题描述和选项替换为你自己的内容。请确保你的 YAML 格式有效——这很容易出错。

例如,这是一个包含 25 个选项的国家多选字段:

version: 1
source: https://forum.example.org
user_fields:
  - name: Countries
    description: 你在哪些国家工作?请选择所有适用的选项。
    field_type: multiselect
    editable: true
    requirement: on_signup
    show_on_profile: false
    show_on_signup: true
    show_on_user_card: false
    searchable: false
    options:
      - Argentina
      - Australia
      - Brazil
      - Canada
      - China
      - Denmark
      - Egypt
      - France
      - Germany
      - India
      - Ireland
      - Italy
      - Japan
      - Kenya
      - Mexico
      - Netherlands
      - New Zealand
      - Nigeria
      - Norway
      - Singapore
      - South Africa
      - Spain
      - Sweden
      - United Kingdom
      - United States

这会创建一个包含 25 个选项的字段,而不是 25 个独立的字段。你可以根据需要扩展列表——我曾成功使用此方法创建了一个拥有 250 多个选项的字段。

预览、创建和验证

dsc ucf push --dry-run myforum user-fields.yaml
# 在应用之前审查计划及完整的 YAML 文件。
dsc ucf push myforum user-fields.yaml
dsc ucf show myforum <field-id> --format yaml

欢迎对 dsc 提供反馈,包括对缺失功能的建议。请在 GH 代码库上创建 Issue。

2 个赞