使用 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。