动态设置主题

新年快乐,各位!
我想在我的网站(基于 Discourse)上动态设置主题。
因此,我想每隔几个小时或为不同的域名设置不同的主题(我已经导入了一些主题)。
这可能吗?
如果可能,任何了解此问题的人请帮助我实现它。
或者我应该修改哪个函数来实现此功能?
谢谢。

3 个赞

有趣的问题。

只是猜测。我猜你可以创建一个脚本,该脚本将使用 Discourse 的 API,在 https://yourdiscourse.com/admin/themes/[id_theme] 上执行 PUT 请求,请求正文为 {"theme":{"enabled":false}}(false 表示禁用,true 表示启用)。

我今晚可能会试试。

1 个赞

抱歉久等了。今天很忙 :technologist:

所以,您确实可以通过简单的 API 请求来启用或禁用主题或组件。

您必须创建一个具有正确凭据的 API 密钥,并为其分配一个管理员用户。

  • 在您的 Discourse 中:管理面板 → API → :plus: 新 API 密钥
  • 在您将使用的脚本中,如上所述,对 https://yourdiscourse.com/admin/themes/[id_theme] 发出 PUT 请求,并带有正确的标头(请参阅 https://docs.discourse.org/ 上的身份验证部分)和一个类似以下的 JSON 主体:
    {"theme":{"enabled":false}}
    

这将禁用所选的主题/组件。使用 Insomnia 的视频示例:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.