Не удалось смонтировать «post-avatar» на плагин-розетку «topic-above-post-stream»

После изучения этого руководства «Руководство для начинающих по разработке тем Discourse» я попытался подключить виджет post-avatar к плагину-разъёму «topic-above-post-stream» на странице сообщения, но он не отображается на странице.

Ниже приведен код, который я добавил:

<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

Так что вам нужно передать нужные данные в ваш плагин-оутлет, а затем передать их виджету… что-то вроде

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

Тем не менее… что именно вы хотите достичь? Если вам просто нужно показать аватар, возможно, лучше использовать хелпер avatar… это будет выглядеть так:

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