我正在思考在帖子中编写类似内容的最佳方式:
[点击此处保存您的名额](https://mysite.com/$CURRENT_USERNAME)
其中 $CURRENT_USERNAME 会根据当前登录的用户替换为不同的值。
我认为可以通过插件 API 在主题组件中获取当前用户名,但我不确定插入链接的最佳方式。
我想其中一个选项是编写一个插件,添加一个新的 BBCode 命令,类似于 discourse-details 或 discourse-spoiler-alert。例如:
[dynamic-url description="点击此处保存您的名额" pattern="https://mysite.com/$CURRENT_USERNAME"][/dynamic-url]
或者更通用一些:
[dynamic-tag tagName="iframe" src="https://mysite.com/$CURRENT_USERNAME"][/dynamic-tag]
但我在想是否有更简单的替代方案。
eviltrout
(Robin Ward)
2
你看过占位符主题组件吗?
它是你所建议方案的一个更简化的版本。否则,你需要接入我们的 Markdown 引擎来处理替换,同时确保该引擎在客户端和服务器端都能访问到你需要替换的信息。这部分比较棘手。
2 个赞
j.jaffeux
(Joffrey Jaffeux)
3
另一种替代方案是编写一个主题组件(比插件更轻量),并使用 wrap:
2 个赞