환영/재방문 배너 코드가 작동하지 않나요?

이 방법을 시도해 보았지만 사용자 이름이 표시되지 않습니다.

왜 이제 작동하지 않는지 확인해 주실 수 있을까요? :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>

After Header

<h2 class="x-title"><span id="logged-in-user"></span> Bienvenue dans ta nouvelle communauté</h2>

도움이 되길 바랍니다. :slight_smile:

안녕하세요,

로컬 호스트에서 이 기능을 테스트해 보고, 사용자 프로필에 전체 이름을 입력하자 해당 이름이 표시되기 시작했습니다. 그런데 전체 이름을 입력하지 않아도 정상적으로 작동해야 하는 건가요?

어쨌든, 프로덕션 사이트에서는 잘 작동하고 있습니다.

로그인한 사용자에게는 user name과 함께 "다시 오신 것을 환영합니다"를, 로그인하지 않은 사용자에게는 "환영합니다"를 표시하고 싶습니다.

도와주실 수 있나요?

현재 로그인된 사용자가 없으면 "Welcome"를 반환하도록 JavaScript를 수정하세요.

<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>