# 欢迎链接横幅

**URL:** <https://meta.discourse.org/t/welcome-link-banner/218743>\
**Category:** Theme component\
**Tags:** official, welcome-link-banner\
**Created:** [2022年二月18日 22:21 UTC](https://meta.discourse.org/t/welcome-link-banner/218743 "2022-02-18T22:21:47Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![martyn\_thomas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martyn_thomas/32/344874_2.png) [@martyn\_thomas](https://meta.discourse.org/u/martyn_thomas)\
**Post date:** [2024年十一月18日 14:37 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/132 "2024-11-18T14:37:24Z")

</div>

我正在进行一些测试（持续了好几个月……别问）。

回来后，我发现自更新以来，欢迎条似乎只在用户注销时显示。

有没有办法让这个条对所有人都显示——无论登录状态如何？

谢谢

Martyn

---

<div class="post-metadata">

**Author:** ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)\
**Post date:** [2024年十一月18日 15:21 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/133 "2024-11-18T15:21:00Z")

</div>

我刚测试了一下，没发现这个问题，你是不是通过点击角落的 `x` 按钮关闭了横幅？如果是这样，你需要清除浏览器的 localStorage 才能再次看到它。

---

<div class="post-metadata">

**Author:** ![martyn\_thomas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martyn_thomas/32/344874_2.png) [@martyn\_thomas](https://meta.discourse.org/u/martyn_thomas)\
**Post date:** [2024年十一月18日 15:23 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/134 "2024-11-18T15:23:02Z")

</div>

好主意 - 我会看看的  
谢谢

---

<div class="post-metadata">

**Author:** ![martyn\_thomas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martyn_thomas/32/344874_2.png) [@martyn\_thomas](https://meta.discourse.org/u/martyn_thomas)\
**Post date:** [2024年十一月18日 15:42 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/135 "2024-11-18T15:42:44Z")

</div>

尝试清除本地存储 - 尝试清除浏览器数据 - 在 Edge 上尝试（我将花费数周时间来清除自己！）……仍然没有成功 ☹

---

<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:** [2024年十一月18日 15:51 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/136 "2024-11-18T15:51:31Z")

</div>

您是如何配置 `max trust level` 和 `hide for staff` 设置的？\n您是否尝试使用为测试创建的新用户？

---

<div class="post-metadata">

**Author:** ![Aurora](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aurora/32/523140_2.png) [@Aurora](https://meta.discourse.org/u/Aurora)\
**Post date:** [2025年二月9日 10:21 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/137 "2025-02-09T10:21:20Z")

</div>

我想为注册用户和未注册用户显示不同的横幅，或者不向未注册用户显示横幅的所有链接。这可能吗？

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2025年二月9日 15:46 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/138 "2025-02-09T15:46:39Z")

</div>

@Aurora  
一种方法是为登录用户创建链接，为未登录用户遵循链接（按顺序，因此您有两组链接）。  
然后，使用一些 CSS，您可以隐藏一个组或另一个组。  
有一个您可以使用的 CSS `anon` 类。

例如，假设您有两个登录用户的链接和三个未登录用户的链接：

- 登录链接 1
- 登录链接 2
- 未登录链接 1
- 未登录链接 2
- 未登录链接 3

在 CSS 中，您可以这样做：

```css
/* 未登录用户：隐藏前两个链接 */
html.anon .featured-banner-link > div:nth-child(-n+2) {
    display: none !important;
}

/* 登录用户：隐藏最后三个链接 */
html:not(.anon) .featured-banner-link > div:nth-last-child(-n+3) {
    display: none !important;
}

```

这会起作用吗？

---

<div class="post-metadata">

**Author:** ![Aurora](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aurora/32/523140_2.png) [@Aurora](https://meta.discourse.org/u/Aurora)\
**Post date:** [2025年二月9日 22:00 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/139 "2025-02-09T22:00:44Z")

</div>

> [@Arkshine](#):
>
> 这可以吗？

可以！非常感谢！这真的很有帮助！

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年三月27日 16:40 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/140 "2025-03-27T16:40:55Z")

</div>

在链接区域的图标字段中，是否可以自动完成，以便更容易找到想要的图标？

如果不行，至少包含一个指向 FontAwesome 网站的直接链接，这样可以更清楚地表明它是图标提供商，同时也能直接引导用户到源。

例如，我下载并安装了该组件，然后在创建链接时，我不得不回到这个主题再次阅读，才知道它是 FontAwesome。这只是一个让添加图标更快更容易的建议。

编辑：我使用了他们网站上的名称，但它没有添加图标：

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/7/9/67942550bb06fdd34b003c1706e44c0cfc3969bf.png)

例如这个：

![image](https://global.discourse-cdn.com/meta/original/4X/c/8/f/c8f6bc3f79781cbe22865cdf38165649de4f318f.png)

看起来是免费的：

 ![image](https://global.discourse-cdn.com/meta/original/4X/c/1/7/c178c443a380976ad7043a1692994a9c19a85740.png)

那么我们应该使用哪些呢？

我还注意到此主题中的摘要存在问题。它说 `Welcome Link Banner 是一个简单的横幅，允许您添加自定义文本和 1-4 个链接`，但实际上它允许我添加更多链接。我能够添加 6 个（如果我继续点击，它会不断添加更多链接）。

如果 4 个确实是目标，那么我认为最好在添加第 4 个链接后，“+ banner link”消失或变为灰色。

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2025年三月27日 17:01 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/141 "2025-03-27T17:01:40Z")

</div>

> [@alltiagocom](#):
>
> 在链接区域的图标字段中，是否可以自动完成以方便查找所需的图标？

我同意这会很方便。但这不仅仅是针对这个TC，TC中有些输入类型在核心/插件中是不可用的。

> [@alltiagocom](#):
>
> 如果不行，至少包含一个指向FontAwesome网站的直接链接，可以更清楚地表明它是图标提供商，并直接将用户引导到源。

我会看看我是否能提交一个PR来改进描述。

> [@alltiagocom](#):
>
> 编辑：我使用了他们网站上的名称，但它没有添加图标：

> 您可能还需要将Discourse默认未包含的图标添加到 `svg_icons` 设置中。

这应该是您的问题。

> [@alltiagocom](#):
>
> 但实际上它允许我添加更多链接

是的，您可以添加任意数量的链接。没有限制。  
这暗示它最适合与1-4个链接配合使用。

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年三月27日 17:08 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/142 "2025-03-27T17:08:08Z")

</div>

> [@Arkshine](#):
>
> I will see if I can PR to improve the description

谢谢

> [@Arkshine](#):
>
> This should be your issue.

哦，我不知道它没有加载所有可用的图标。我以为它是直接从 FA 网站读取的。我添加了一个未加载的图标，现在它可见了。非常感谢。  
我怎样才能看到哪些是可用的？有列表吗，还是像添加然后看看它是否不显示，然后添加一样？

> [@Arkshine](#):
>
> Yes, you can add as much as you want. There is no limit.  
> It implies that it’s designed to work best with 1-4 links.

我明白了。我想是措辞的问题。也许可以这样说：  
`欢迎链接横幅是一个简单的横幅，允许您添加自定义文本和链接（推荐：最多 4 个链接）。` 或者类似的话。

非常感谢您的帮助。很高兴图标现在可见了！ 🙂

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2025年三月27日 17:13 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/143 "2025-03-27T17:13:32Z")

</div>

> [@alltiagocom](#):
>
> 是像添加，看看它是否不显示，然后添加它吗？

是的，那将是最简单的方法。

---

<div class="post-metadata">

**Author:** ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)\
**Post date:** [2025年四月21日 16:01 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/144 "2025-04-21T16:01:17Z")

</div>

> 更新“欢迎链接横幅”主题导致 SCSS 编译错误并导致网站崩溃

您好，

最近在我的 Discourse 论坛上更新\*\*“欢迎链接横幅”\*\*主题时，我遇到了一个严重的问题。

### 🛑 问题摘要：

- 更新主题后，网站立即崩溃。
- 安全模式 (`/safe-mode`) 也无法访问。
- 记录的错误是：

```plaintext
CssSyntaxError: common.scss 中缺少分号 (MiniRacer::RuntimeError)

```

- 此 SCSS 错误阻止 Discourse 编译资源，导致前端完全失败。

### 🔍 根本原因：

- “欢迎链接横幅”主题内的更新后的 `common.scss` 文件存在 **语法错误** （缺少 `;` 分号）。
- 因此， **资源编译中断** ，Discourse 甚至无法提供基本的用户界面。

* * *

### 🛠 我是如何解决的：

由于我无法访问 Web 界面（甚至安全模式），我不得不手动修复：

1. SSH 登录到服务器。

2. 进入应用程序容器：

3. 打开 Rails 控制台：

4. 禁用有问题的the theme：

5. 退出 Rails 控制台。

6. 清除所有编译的资源：

7. 重新构建应用程序：

完成这些步骤后，论坛恢复在线。

* * *

### 💡 建议：

- 也许可以在上传/更新主题时，在将主题应用于生产站点 **之前** ，添加额外的 SCSS 语法检查。
- 这可以帮助避免因轻微的 CSS 错误导致的全站崩溃。

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2025年四月21日 17:38 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/145 "2025-04-21T17:38:44Z")

</div>

这很奇怪。此组件的 CSS 中没有缺少分号。  
我也没在历史记录中看到任何更改。🤔

> [@huynhthai824](#):
>
> [安全模式](https://meta.discourse.org/t/53504?silent=true) (`/safe-mode`) 也无法访问。

顺便说一句，如果 `/safe-mode` 不起作用，您可以尝试直接在 URL 后面添加 `?safe_mode=no_themes`。

---

<div class="post-metadata">

**Author:** ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)\
**Post date:** [2025年四月22日 15:20 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/146 "2025-04-22T15:20:29Z")

</div>

我也检查过了，没有发现这个问题，是组件被自定义过，还是更新过程中出了什么问题？

---

<div class="post-metadata">

**Author:** ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)\
**Post date:** [2025年四月23日 02:43 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/147 "2025-04-23T02:43:07Z")

</div>

可能与我正在开发的另一个组件发生冲突

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年七月7日 11:14 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/149 "2025-07-07T11:14:28Z")

</div>

1. 我已关闭横幅，但我需要测试一些内容，因此需要将其重新显示。如何操作？
2. 我注意到，至少在移动设备上，当我处于“频道”页面时，横幅会完全破坏整个布局：

 ![IMG_1622](https://global.discourse-cdn.com/meta/original/4X/1/d/f/1df6885bdd4843f78a80dfb6e4a1554db70239e2.png)  
 ![IMG_1623](https://global.discourse-cdn.com/meta/original/4X/7/6/8/768b66c40480fde5cb0331fb8e51bf3bb400e89f.png)  
 ![IMG_1618](https://global.discourse-cdn.com/meta/original/4X/8/9/7/897c31a86670a0d62e68e466c4d63047b5ecd5f9.png)  
 ![IMG_1620](https://global.discourse-cdn.com/meta/original/4X/0/a/6/0a6499947fec5d15993de748e8b30689ae085c13.png)

1. 是否可以排除横幅在某些页面上的显示，而不是使用 CSS？我知道有一个下拉菜单，其中包含 `homepage,discovery,all`，但这太有限了。

---

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [2025年七月7日 14:05 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/150 "2025-07-07T14:05:04Z")

</div>

> [@alltiagocom](#):
>
> 1 - 我关闭了横幅，但我想测试一些东西，所以我需要把它带回来。怎么做？

我认为清除缓存可能会有帮助，因为它存储在 localStorage 中：

> <https://github.com/discourse/discourse-welcome-link-banner/blob/317b051ab5cbc69ac85a4581da2e84a6d07228ec/javascripts/discourse/components/welcome-link-banner.gjs#L75>

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年七月7日 15:03 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/151 "2025-07-07T15:03:34Z")

</div>

> [@NateDhaliwal](#):
>
> 我认为清除缓存可能会有帮助，因为它存储在 localStorage 中

我做到了：

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/9/f/29feb09c4bb305f01bd458cea4bac3a01a7e31d7.png)

但它没有奏效。我正在使用 Cloudflare，并且遇到过他们的缓存问题。我应该再等一会儿，还是因为它是 localstorage，所以这无关紧要？

我在这方面不是专家。只是猜测……

有没有办法通过开发者工具窗口删除它？我记得以前在处理一个我正在开发的网站时，在那里删除了一些东西。

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年七月7日 15:14 UTC](https://meta.discourse.org/t/welcome-link-banner/218743/152 "2025-07-07T15:14:06Z")

</div>

更新：我根据您的回复让 ChatGPT 帮助了我，得到了以下信息：

清除浏览器缓存不会影响 `localStorage`，因为“已忽略”状态存储在那里。您需要手动从 `localStorage` 中删除该项。

### 执行此操作：

1. 打开 Discourse 网站。

2. 按 `F12` 或右键单击 → **检查** 打开开发者工具。

3. 转到 **Console** 选项卡。

4. 粘贴以下内容并按 Enter：

5. 刷新页面。

这将重置“已忽略”状态，并且“欢迎横幅链接”应该会再次出现。

* * *

然后我问是否也可以手动完成，是的，我可以，方法是转到 `Application` 选项卡，然后在侧边栏中转到 `Storage > Localstorage` 并删除“条目”：

![image](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/3/3/233b52c15b4dd082c74e33175e2baa164f3677b9.png)

* * *

感谢您指明了正确的方向！

那么我的问题是：如果这是我在桌面上的操作方法，如何在手机上进行操作？ChatGPT 说我可以将其添加到地址栏并“运行”它，但没有帮助：

`javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");`

编辑：它奏效了！我之前操作错了。ChatGPT 现在明确表示我需要在打开论坛后，在同一个标签页中运行 `javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");`，而不是在新标签页中运行，而我之前就是这么做的。

再次感谢您的回复，因为它确实帮助我缩小了范围。🙌

[上一頁](https://meta.discourse.org/t/welcome-link-banner/218743.md?page=1)

[下一頁](https://meta.discourse.org/t/welcome-link-banner/218743.md?page=3)
