“topic-above-post-stream” 플러그인 아웃렛에 “post-avatar”를 마운트할 수 없습니다

이 가이드[" Discourse 테마 개발 입문자 가이드를 읽은 후, 게시물 페이지의 “topic-above-post-stream” 플러그인 아웃렛에 post-avatar 위젯을 마운트해 보았지만 페이지에 표시되지 않았습니다.

아래는 제가 추가한 코드입니다.

<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/post-page">
    <div class="post-detail">
      {{mount-widget widget="post-avatar"}}
    </div>
</script>

무엇을 놓치고 있는 건가요?

위젯이 표시되는 데 필요한 속성이 누락된 것 같습니다… 예를 들어, 이 컨텍스트에서 위젯은 어떤 사용자의 아바타를 표시해야 하는지 어떻게 알 수 있을까요?

여기서 원본 위젯을 살펴보면:

다음과 같은 항목을 기대합니다:

  • template
  • username
  • name
  • url

따라서 원하는 데이터를 플러그인 아웃렛(plugin outlet)으로 가져온 다음, 위젯으로 전달해야 합니다… 예를 들어 다음과 같이요:

{{mount-widget widget="post-avatar" args=(hash username=this.username)}}

그렇지만… 구체적으로 무엇을 달성하고 싶으신가요? 단순히 아바타를 표시하고 싶다면, 아바타 헬퍼를 사용하는 것이 더 나은 방법일 수 있습니다… 그러면 다음과 같이 작성할 수 있습니다:

{{avatar user imageSize="large"}}

이 경우에도 어떤 사용자를 표시할지 위젯이 알 수 있도록 user가 존재하는지 확인해야 합니다.

안녕하세요 @awesomerobot

답변 주셔서 감사합니다.

각 게시물의 게시물 페이지에서 텍스트 위에 사용자 아바타를 표시하려고 합니다. 그러나 필요한 사용자 데이터를 “topic-above-post-stream” 플러그인 아웃렛에 전달하지 못했습니다. 그 결과, common/head_tag.html 파일에 아래 코드를 추가한 후 “topic-above-post-stream” 플러그인 아웃렛에 쓰레기통 아이콘이 표시됩니다.

<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/custom-post-page">
    <div class="post-detail header">
      {{mount-widget widget="post-avatar" args=(hash username=this.username)}}
    </div>
</script>