# 扩展头部按钮

**URL:** https://meta.discourse.org/t/extending-header-buttons/337462
**Category:** Development
**Created:** [2024年十一月21日 09:03 UTC](https://meta.discourse.org/t/extending-header-buttons/337462 "2024-11-21T09:03:24Z")
**Posts on this page:** 13
**Page:** 2

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月21日 15:39 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/21 "2024-11-21T15:39:21Z")

</div>

好的，正确的配置将意味着默认按钮将被移除，然后我可以添加自己的自定义按钮……

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2024年十一月21日 16:56 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/22 "2024-11-21T16:56:33Z")

</div>

我相信任何链接到（社区网站的）`/login` 的“按钮”最终都会将您带到父网站，前提是启用了 SSO（正确）。

---

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月21日 17:19 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/23 "2024-11-21T17:19:19Z")

</div>

登录有效 - 它会重定向到我们的 SSO 登录…

“创建账户”按钮会转到同一个 SSO 登录，没有注册选项。这是我们需要转到我们主站注册页面的按钮。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2024年十一月21日 17:22 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/24 "2024-11-21T17:22:00Z")

</div>

所以 @Don 的主题组件可以在这方面提供帮助。

在一个客户网站的示例中，注册链接/选项也在登录页面上。

也许你可以考虑添加一个？

---

<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: [2024年十一月21日 20:41 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/25 "2024-11-21T20:41:07Z")

</div>

> [@LVHN](#):
>
> 我们已在使用 SSO -

您使用的是 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) 还是某种 OAuth？

---

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月22日 09:47 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/26 "2024-11-22T09:47:11Z")

</div>

我们正在使用 ODIC - @Don 的主题看起来很棒，并且可以完成工作，但我该如何删除现有的“创建账户”按钮。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2024年十一月22日 10:18 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/27 "2024-11-22T10:18:38Z")

</div>

如果启用了 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true)，主题组件将隐藏它。

---

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月22日 12:37 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/28 "2024-11-22T12:37:06Z")

</div>

鉴于我们正在使用 OpenID Connect，我认为该插件在这种情况下将无法正常工作。在“[Discourse Connect](https://meta.discourse.org/t/13045?silent=true)”下，这三个字段是空的。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2024年十一月22日 12:50 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/29 "2024-11-22T12:50:22Z")

</div>

啊，我明白了，我创建了一个新版本的组件，它不会限制站点设置的外观。

> **[GitHub - VaperinaDEV/custom-signup-button](https://github.com/VaperinaDEV/custom-signup-button)**
>
> Contribute to VaperinaDEV/custom-signup-button development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月22日 13:03 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/30 "2024-11-22T13:03:41Z")

</div>

太棒了——谢谢！我本来打算用你的第一个插件在本地玩玩，看看能不能满足我的需求，但看起来你已经开始着手了——谢谢……

---

<div class="post-metadata">

### Author: ![LVHN](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@LVHN](https://meta.discourse.org/u/LVHN)
#### Post date: [2024年十一月22日 15:32 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/31 "2024-11-22T15:32:03Z")

</div>

@Don 看起来不错，我正在研究你的插件以了解其工作原理，你是否重写了 ‘signUpSsoButton’ 以实现自定义行为。推测它在核心部分——我能在哪里看到默认实现（鉴于我对 Discourse 的结构不熟悉）。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2024年十一月22日 16:22 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/32 "2024-11-22T16:22:23Z")

</div>

基本上无法覆盖 [discourse/app/assets/javascripts/discourse/app/components/header/auth-buttons.gjs at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/components/header/auth-buttons.gjs) 模板，但我们可以在登录按钮之前或之后添加一个标题按钮。  
因此，该组件会在登录按钮之前添加一个按钮，就像这里解释的那样：[Upcoming Header Changes - Preparing Themes and Plugins](https://meta.discourse.org/t/upcoming-header-changes-preparing-themes-and-plugins/296544#p-1461486-decoratewidgetheader-buttons-8%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8) CSS 隐藏默认的注册按钮。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2024年十二月22日 16:22 UTC](https://meta.discourse.org/t/extending-header-buttons/337462/33 "2024-12-22T16:22:38Z")

</div>

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

[上一頁](https://meta.discourse.org/t/extending-header-buttons/337462.md?page=1)
