回复模板

||||\n-|-|-|\n:discourse2: | 摘要 | 回复模板 (Reply Template) 可让您轻松地在回复或新主题中重复使用帖子的一部分内容。\n| :eyeglasses: | 预览 | 在 Discourse 主题创建器中预览\n:hammer_and_wrench: | 仓库链接 | \u003chttps://github.com/discourse/discourse-reply-template-component\u003e\n:open_book: |初次接触 Discourse 主题? | Discourse 主题使用入门指南\n\n[wrap=theme-install-button repoUrl="https://github.com/discourse/discourse-reply-template-component\" repoName="Discourse Reply Template"]\n安装此主题组件\n[/wrap]\n[quote]\n\n:discourse2: 由于这是由 Discourse 团队维护的 official 主题组件,您可以在 Meta 上的相应版块中提出 #support、#bug、UXFeature 请求,并附上适当的主题组件标签。点击下面的链接即可开始。:+1: \n\n\u003ckbd\u003e [:question:\u0026nbsp;支持](Discourse Meta "就 Reply Template 的配置和使用寻求支持") \u003c/kbd\u003e \u003ckbd\u003e [:bug:\u0026nbsp;Bug](Discourse Meta "Bug 报告意味着某些东西坏了,阻止了主题组件的正常/典型使用") \u003c/kbd\u003e \u003ckbd\u003e [:eyes:\u0026nbsp;用户体验](Discourse Meta "关于 Reply Template 的用户界面,以及功能的呈现方式(包括语言和 UI 元素)的讨论") \u003c/kbd\u003e \u003ckbd\u003e [:bulb:\u0026nbsp;功能](Discourse Meta "讨论如何改进或增强现有的 Reply Template 功能,以及提议的新功能将如何运作")\u003c/kbd\u003e\n\n[/quote]\n\n### 功能\n\n回复模板 (Reply Template) 可让您轻松地在回复或新主题中重复使用帖子的一部分内容。\n\n### 用法\n\n\n[wrap=template key=\"template-name\"]\n我的可重用内容\n\n- [ ] 任务 1\n- [ ] 任务 2\n[/wrap]\n\n\n请注意,如果用户未登录,点击按钮将显示登录模态框。\n\nkey 是必需的\n\n### 其他选项\n\n- action=\"create\" 这将使按钮打开一个撰写器以创建新主题\n- action=\"create_pm\" 这将使按钮打开一个撰写器以创建新私信 (PM)\n- categoryId=\"2\" 仅可与 action=\"create\" 一起使用,将设置打开的撰写器的分类\n- title=\"some title\" 仅可与 createcreate_pm 一起使用,主题/私信的标题\n- recipients=\"a@example.com\" 仅可与 create_pm 一起使用,将发送给的人员\n- usernames=sam 仅可与 create_pm 一起使用\n- label=\"My button text\" 按钮文本\n\n\n### 占位符\n\n您的模板中可以有特殊的 key,它们将被替换:\n\n- \$week_start → 本周开始的日期\n- \$week_end → 本周结束的日期\n- \$prev_week_start → 上一周开始的日期\n- \$prev_week_end → 上一周结束的日期\n- \$today\n- \$tomorrow\n- \$username → 当前用户的用户名\n- \$name → 当前用户的名称 \n\n请注意,这将替换为本地日期。\n\n特殊占位符也会在 title 中进行插值处理\n\n### 标签列表\n\ntagsList=\":heart:,foo,#bar" 将在模板末尾显示一个复选框列表,以便人们可以轻松地为帖子添加标签。\n\n

\n\n## 示例\n\n\n我的待办事项列表 $week_end\n\n- [x] 任务 1\n- [x] 任务 2\n\n\n### 设置\n\n| 翻译 | 默认值\n|-|-|\n| discourse_reply_template_component.use_template_reply | 将模板用作回复\n| discourse_reply_template_component.use_template_create | 将模板用作新主题\n| discourse_reply_template_component.use_template_create_pm | 将模板用作新私信\n| discourse_reply_template_component.needs_key | 每个模板都需要一个 key 属性。例如:[wrap=template key=\"weekly_status\"][/wrap]\n\n\u003cbr\u003e\n\n\u003e:discourse2: 由我们托管? 标准版、商业版和企业版套餐均可使用主题组件。

43 个赞

我在想,这能否用于特定的分类或子版块?

比如用于漏洞报告表单?

3 个赞

可以:arrow_down:

例如:
[wrap=template key="bug-report" action="create" categoryId="your-bug-category-id"]

9 个赞

谢谢,我需要进一步探索这个问题。

这真是太棒了!非常感谢!我使用它来创建检查清单模板,每次进行重复性项目时都可以随时创建。以前,我们的指示是“复制并粘贴以下内容”,而现在有了一个非常优雅的按钮,可以直接为人们创建主题。

5 个赞

是否有计划将此功能集成到编辑器窗口中?在我看来,最合理的位置是“隐藏详情”和“创建投票”等功能所在的位置。

3 个赞

我刚更新了该组件,用法请参阅原始帖子,但有一点需要说明:

  • 占位符日期现在已替换为本地日期
  • 您现在可以定义 tagsList

8 个赞

感谢您提供了如此出色的组件!

目前无法在 wrap 中添加投票功能。您能否添加此功能?

[wrap=template key="template-name"]

[poll type=regular results=on_vote chartType=bar]
# 谁会加入?
* 1
* 2
* 3
[/poll]

[/wrap]

我已为你们的组件添加了更多语言环境,并创建了拉取请求。请查收。

1 个赞

如何安装此组件?

在我看来,提供一个回复场景的示例(不含 action=create)会更有帮助,因为这可能是大多数人搜索的原因,毕竟通过 URL 创建主题已经可行。

我的尝试:

  • 成功
  • 失败
2 个赞

是否可以使用模板来创建新的个人消息?

另外,当用户未登录时,点击“使用模板作为回复”没有任何反应。能否添加一项功能:如果用户未登录,系统能提示他们登录或创建新账户?

4 个赞

好建议,已处理,我已更新了首帖。

4 个赞

有没有办法预填充新主题标题?

有没有办法自动添加标签,而不仅仅是显示标签列表?

4 个赞

不,但这确实是一个合理的功能请求。我目前手头有点忙,不过我会记下这个建议,谢谢。

5 个赞

是否有可能通过某种模板修改主题中的默认回复按钮?
这将成为论坛中特定结构化对话的变革性功能,尤其适用于竞赛等需要用户以结构化方式提交内容的场景。

1 个赞

您好,抱歉我不太明白您的请求,能否请您说得更具体一些?

目前,用户只能通过主题组件生成的首帖中的按钮访问回复模板。
我希望实现的是,让主题中的常规回复按钮(时间线下方的回复按钮和最后一帖下方的回复按钮)也能使用该模板。

编辑:一个典型的使用场景是用户留言反馈(如错误报告等)的话题。如果我们能像为新建话题设置按分类的模板一样,为每个话题设置按帖子的回复模板,将有助于减少报告不完整的情况,从而为工作人员节省大量时间。

5 个赞

您好,

我在安装此组件时遇到了一些问题。我是 Discourse 的新手,希望有人能确认我所采取的步骤是否正确。

我遵循了此处的指南 Installing a theme or theme component 来安装该组件。我已经将该组件包含在我们所有的主题中。

但是,当我创建一个新主题并包含

我的可重用内容

  • 任务 1
  • 任务 2

时,没有“使用模板作为回复”按钮。例如:

它只是显示了模板周围的包装器。我是否遗漏了某个步骤?我是否需要自定义代码中的某些内容?

另外,Discourse 提示主题在 CSS、HTML 或 YAML 中存在错误。我不确定这是否与按钮不显示有关?

感谢您的任何帮助。

明天会看一下

2 个赞

谢谢。我被告知这可能也是我们运行的 Discourse 版本的问题,但我们会再回来讨论这个问题。