欢迎/欢迎回来横幅代码有问题?

我尝试了此方法,但没有显示用户名。

有人能看看为什么现在它不起作用吗?:slightly_smiling_face:

我想使用它。:slightly_smiling_face:

你好 @kynic :wave:

对你来说,这个方法有效吗?

如果名字可用,它会显示名字;如果只有用户名可用,它会显示用户名。

仅供参考上面的当前示例 :arrow_down_small:

Header

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange(() => {
    if (api.getCurrentUser()) {
      const loggedInUser = document.getElementById("logged-in-user");
      if (api.getCurrentUser().name) {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().username + "!";
      }
    }
  });
</script>

Header 之后

<h2 class="x-title">
  <span id="logged-in-user"></span> 欢迎来到你的新社区
</h2>

希望这有帮助。 :slight_smile:

4 个赞

您好,

我之前在本地主机上进行了测试,当我在用户个人资料中添加了我的全名时,它开始显示出来。但它在没有添加全名的情况下也应该可以工作,对吗?

不过,在生产环境中,它运行良好。

我想向已登录用户显示“欢迎回来 user name”,向未登录用户显示“欢迎”。

有人能帮忙吗?

修改 Javascript 以在没有当前登录用户时返回“Welcome”—

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange(() => {
    const loggedInUser = document.getElementById("logged-in-user");
    if (api.getCurrentUser()) {
      if (api.getCurrentUser().name) {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().username + "!";
      }
    } else {
      loggedInUser.innerText = "Welcome"
    }
  });
</script>
3 个赞