# 为群组定制的主页

**URL:** <https://meta.discourse.org/t/custom-homepage-for-groups/199623>\
**Category:** Theme component\
**Created:** [2021年八月7日 20:12 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623 "2021-08-07T20:12:05Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月1日 13:52 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/83 "2025-06-01T13:52:19Z")

</div>

> [@Moin](#):
>
> 那些设置在代码中已不再被引用，但仍然是 settings.yml 的一部分。

啊！抱歉。我错过了。

嗯。是的。我想知道为什么我移除了对那些的支持。我想也许你现在可以在核心中更改那些了？

我会看看核心中是否有，如果有的话，就移除那些设置。

或者核心中发生了什么事情导致那些更改失效了。我会看看我能弄清楚什么。。。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月1日 15:22 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/84 "2025-06-01T15:22:33Z")

</div>

我仍然不确定之前为什么要删除对默认主页和匿名主页的支持。我已经把它们放回去了。

现在，如果有 `custom_default_homepage`，则使用它，除非有匹配的群组匹配。如果有 `anon_page` 并且用户是匿名的，则使用它。

我不知道应该如何或何时设置移动页面（是为匿名用户设置的吗？所有用户？它会覆盖默认页面吗？群组映射？），所以我把它删除了。如果您正在使用该移动页面，请告诉我您认为它应该覆盖什么（我认为如果他们在移动设备上，也许应该将其设置为默认页面，但是如果有群组页面，则使用该页面？仍然不清楚匿名用户与登录用户该怎么做——我想可能需要为所有这些页面提供移动版本？）。

这是代码：

```javascript
      let url = null;

      if (settings.custom_default_homepage) {
        url = settings.custom_default_homepage.replace(/^\/+/g, "");
      }

      if (user) {
        if (user.primary_group_name 

And then it changes the homepage only if `url` has a value.
```

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月23日 16:45 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/85 "2025-06-23T16:45:19Z")

</div>

此主题组件是否旨在将组中的任何人在登录时或使用链接时重定向到主页？我已经安装了它，徽标会指向所选页面，但登录时用户仍然被重定向到默认的 /latest 页面。如果它处理登录重定向，那我肯定还有什么地方设置不正确。

我的目标是所有用户都包含在一个默认组中，并且在登录时都被重定向到一个备用页面。

---

<div class="post-metadata">

**Author:** ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)\
**Post date:** [2025年六月23日 19:29 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/86 "2025-06-23T19:29:19Z")

</div>

这需要是他们的 **主要** 组，此TC才能生效。这是设计使然，以避免用户属于多个带有重定向的组时发生冲突。

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月23日 19:35 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/87 "2025-06-23T19:35:47Z")

</div>

信任级别0是否被视为一个有效群组？这会是群组页面映射 (Group Page Map) 的正确设置吗？trust\_level\_0:/discourse-ai/ai-bot/conversations。这就是我当前的设置。

---

<div class="post-metadata">

**Author:** ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)\
**Post date:** [2025年六月23日 19:44 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/88 "2025-06-23T19:44:09Z")

</div>

不，信任等级组无法使用，因为它们不能被设置为主组。如果这对你来说至关重要，你可以通过使用动态组插件来创建一个镜像组作为变通方案。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2025年六月23日 20:25 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/89 "2025-06-23T20:25:46Z")

</div>

您是否尝试过将所有人的自定义主页设置为您的AI机器人页面，然后将匿名用户的主页设置为最新？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月23日 20:39 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/90 "2025-06-23T20:39:06Z")

</div>

> [@nathank](#):
>
> 如今，侧边栏在大多数情况下使此功能变得不必要，因此我认为删除它是有意义的。

啊。好的。我认为我电子邮件通知中发送的这个版本有所不同。我更喜欢这个答案。 🙂

---

<div class="post-metadata">

**Author:** ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)\
**Post date:** [2025年六月23日 21:18 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/91 "2025-06-23T21:18:06Z")

</div>

我就知道你会！还在用电子邮件通知吗？？那有点像老古董了，杰！

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2025年六月23日 21:23 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/92 "2025-06-23T21:23:02Z")

</div>

> [@nathank](#):
>
> 这不太可能奏效，因为 [@everyone](https://meta.discourse.org/groups/everyone) 并不是一个真正的组，也不能被设为主组

我说的“everyone”是指“global”，而不是伪组。我会编辑我的帖子，以免产生误导。

> [@pfaffman](#):
>
> ### 自定义默认主页
> 
> 允许您设置全局自定义主页。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月23日 21:43 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/93 "2025-06-23T21:43:17Z")

</div>

> [@nathank](#):
>
> 还在使用邮件通知？？那有点太老掉牙了，Jay！

我年纪很大了。而且，我每天登录元（meta）的时间不到10个小时，我不想错过任何事情！

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月24日 13:42 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/94 "2025-06-24T13:42:56Z")

</div>

首先，感谢大家的积极参与和帮助！非常感激！

这让我感到困惑。

> [@nathank](#):
>
> 不，信任级别组不能用作主组，因为它们不能设为主组。
> 
> 如果你觉得这很重要，可以通过使用 **动态组插件创建一个镜像组来解决这个问题** 。

我已经成功安装了这个插件，并在设置中将 `trust_level_0` 设置为“设为主组”。网站上的所有成员都已添加到该组。现在所有用户的首选组都显示为这个组。

在“自定义主页（按组）”组件设置中，这是我的设置。

 ![主题设置包括所有用户的自定义默认主页选项、匿名用户的主页以及具有已拆分组设置的用户组页面映射。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/5/2/4/5248f56105a19e29a6a127bf13e518e8c11b143d.png)

访问页面时，属于“Community-Core”首选组的用户仍然会跳转到 `/latest`。如果我将“匿名页面”更改为 `/latest` 以外的其他内容，当用户登录时，他们将看到该字段中显示的页面，这就是正在发生的重定向。

我正在使用 Canvas Screen 主题，并切换到默认主题进行测试，结果相同。

我还禁用了所有主题组件和插件，看看这是否有帮助，但没有成功。

我怀疑是我遗漏了某些对其他人来说可能很明显的东西，或者该组件可能存在问题。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月24日 14:04 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/95 "2025-06-24T14:04:41Z")

</div>

> [@BrianC](#):
>
> 现在所有用户都显示此为主组。

您在检查器中看到 body 标签中的主组了吗？

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月24日 14:12 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/96 "2025-06-24T14:12:36Z")

</div>

杰伊，真的不确定这是哪个检查员？

用户显示在组中，并且他们的个人资料上的指示器与我在此图像中的指示器相同。

 ![图片显示了一个秃头男子戴着太阳镜和一个小男孩的个人资料图片，以及表明姓名“Brian”、角色“Community Core”以及“Message”、“Chat”和“Follow”等各种互动选项的个人资料信息：（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/a/c/6/ac6971e91d034c034ba5b3e9932831b69bc45c01.png)

 ![图片显示了“Community and Core”数字界面的图标和名称，有 56 位关注者。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/2/f/6/2f699b8782d680bad7a58ef9e0cab92648b00bde.png)

 ![图片显示了“Sandy”的用户个人资料页面，其中包含图标、用户名和隶属关系，标明为“Community Core”。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/d/b/4/db4ea6ccd18958786b6340444d4d4d36d613b480.png)

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2025年六月24日 17:51 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/97 "2025-06-24T17:51:19Z")

</div>

当您右键单击您的网站并选择“检查”时，您可以看到 pfaffman 正在寻找的内容。  
例如，我在我的用户管理页面（/admin/users/{user\_id}/{username}）上看到这个

 ![用户管理页面的组部分显示“TestGroup”为主组](https://global.discourse-cdn.com/meta/original/4X/4/2/d/42da24ba0206e19c65d8877c7336522c7c2dbdc7.png)  
由于这是我的帐户，当我右键单击并选择“检查”时，我看到  
 ![<body class="primary-group-testgroup ...">](https://global.discourse-cdn.com/meta/original/4X/7/b/e/7be9eb265a4b746766106a3c4d7d823cec13987a.png)

在那里您可以在 `<body>` 中看到“testgroup”

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月24日 19:05 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/98 "2025-06-24T19:05:07Z")

</div>

> [@Moin](#):
>
> 在那里，您可以在 `<body>` 中看到“testgroup”

这就是我的意思，但我现在记得/看到该组件是从用户模型中获取主组，而不是从 CSS 中获取。

所以，也许在管理员用户路由中找到一个用户，并在 URL 中添加 .json。然后检查他们的主组是什么，并在浏览器中搜索 `primary_group: true`，并检查名称是否与您在主题配置中使用的名称完全匹配。

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月25日 14:17 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/99 "2025-06-25T14:17:18Z")

</div>

> [@pfaffman](#):
>
> `primary_group: true` 并检查名称是否与你在主题配置中使用的名称完全匹配。

大家好，

感谢您的澄清。我遵循了这些说明，并使用了 .json URL 来确认确切的组名。

 ![该图片显示了一个 JSON 对象，其中包含有关名为“Community Core”的组的详细信息，包括其设置、权限和成员详细信息。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/5/2/4/524c92f4ecd0b091add979eebaa7885bb1275953.png)

主组名确实是 Community-Core，包括大写字母和连字符，这正是我在主题组件设置中输入的。

 ![屏幕截图显示了一个 Web 应用程序的设置页面，其中显示了自定义主页、匿名页面和组页面地图的选项，以及相应的 URL 和重置按钮。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/e/5/f/e5f4c9102194460ebafa856199d1c551b874a448.png)

不幸的是，它仍然不起作用。匿名页面重定向仍然有效。所以，问题一定出在别的地方。

其他人可以确认这对他们来说是有效的吗？

你还有其他什么想法可以检查吗？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年六月25日 14:35 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/100 "2025-06-25T14:35:59Z")

</div>

不。如果它转到匿名页面而不是“自定义默认主页”，那么它在执行时找不到用户

```plaintext
      const user = api.getCurrentUser();

```

如果用户确实已登录，我不知道这怎么会发生。

啊，你试过重新加载页面吗？

---

<div class="post-metadata">

**Author:** ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)\
**Post date:** [2025年六月25日 14:41 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/101 "2025-06-25T14:41:22Z")

</div>

谢谢 Jay，我尝试过重新加载。我尝试了对 URL 和类似内容进行多次调整。它确实加载了匿名页面。如果我更改它，它会转到该页面，并且还在浏览器 URL 中显示 /latest。

我搜索过，并认为没有其他简单重定向的方法。使用 PHP 网站更容易。我对 Discourse 仍然是新手。

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2025年六月25日 14:42 UTC](https://meta.discourse.org/t/custom-homepage-for-groups/199623/102 "2025-06-25T14:42:28Z")

</div>

这是一个非常奇怪的边缘情况，并且触及了让 Discourse 做它不擅长的事情的领域。

[上一頁](https://meta.discourse.org/t/custom-homepage-for-groups/199623.md?page=4)

[下一頁](https://meta.discourse.org/t/custom-homepage-for-groups/199623.md?page=6)
