如何替换/覆盖主页模板

我想为已登录和未登录用户配置不同的自定义主页。虽然我知道这可以通过 JavaScript 实现,但我有兴趣了解是否也可以通过 Discourse 组件或插件来实现。

我遇到了组件 User-specific Discourse home page,该组件允许创建新路由并添加模板,但我更希望不采用该方法。

如果有什么替代建议或推荐的最佳实践,我将非常感谢您的指导。

1 个赞

Discourse 组件是用 JavaScript 编写的 :wink:

它为开发者提供了自定义主页支持,你可以区分这些用户类型。

3 个赞

感谢您的回复。我尝试了 GitHub 存储库中提到的方法,在我的主题的 about.json 文件中添加了 \"custom-homepage\": true,但似乎不起作用。您能否确认这是正确的方法?

我建议在 Dev 中开一个话题。

如果您遇到困难,请考虑在 Marketplace 聘请一位经验丰富的 Discourse 开发人员。

1 个赞

这是正确的方法,您是否遵循了所有步骤?添加

  "modifiers": {
    "custom_homepage": "true"
  }

并启用您的主题后,您是否看到这是您的主页?

是的,我遵循了帖子中提供的步骤。具体来说,我首先在 modifiers 中添加了 \"custom-homepage\": \"true\",然后在 javascripts/discourse/connectors/custom-homepage/home.gjs 创建了一个组件。

您仍然看到默认主页吗?还是看到空白主页?是否有任何控制台错误?

是的,我看到了我的默认主页,控制台中也没有错误。

您可能需要更改此设置:

image

在首选项中

2 个赞

我现在明白了,我必须将“默认主页”设置为“默认”,然后它就起作用了。

1 个赞

谢谢您的回复

1 个赞

感谢您的回复,它奏效了,我只需要将“默认主页”设置重置为默认即可。

2 个赞

此主题在上次回复后 30 分钟自动关闭。不再允许新回复。