在阅读了本指南“ 初学者开发 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>
我是否遗漏了什么?
1 个赞
您可能缺少小部件显示所需的属性……例如,在此上下文中,它如何知道要显示哪个用户的头像?
查看原始小部件:
它需要:
- template
- username
- name
- url
因此,您需要将所需数据放入插件出口,然后将其传递给小部件……类似这样:
{{mount-widget widget="post-avatar" args=(hash username=this.username)}}
话虽如此……您具体想实现什么?如果您只想显示头像,使用头像助手可能是一个更好的方法……看起来像这样:
{{avatar user imageSize="large"}}
在这种情况下,您仍然需要确保 user 存在,因为这是它知道要显示哪个用户的方式。
3 个赞
你好 @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>