Impossible de monter le "post-avatar" sur la sortie du plugin "topic-above-post-stream"

Après avoir parcouru ce guide « Guide pour débutants sur le développement de thèmes Discourse », j’ai essayé de monter le widget post-avatar sur la sortie de plugin « topic-above-post-stream » sur la page du post et il ne s’est pas affiché sur la page.

Voici le code que j’ai ajouté :

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

Est-ce que j’ai oublié quelque chose ?

1 « J'aime »

Vous manquez probablement d’attributs dont le widget a besoin pour s’afficher… par exemple, comment sait-il quel utilisateur vous voulez afficher l’avatar pour dans ce contexte ?

En regardant le widget d’origine ici :

il attend :

  • template
  • username
  • name
  • url

Vous devriez donc récupérer les données que vous souhaitez dans votre plugin outlet, puis les passer au widget… quelque chose comme

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

cela dit… qu’essayez-vous de réaliser plus spécifiquement ? si vous voulez juste afficher un avatar, utiliser l’helper d’avatar pourrait être une meilleure approche… cela ressemblerait à :

{{avatar user imageSize="large"}}

dans ce cas, vous devriez toujours vous assurer que user est présent, car c’est ainsi qu’il sait quel utilisateur afficher.

3 « J'aime »

Salut @awesomerobot

Merci pour votre réponse,

J’ai l’intention d’afficher l’avatar de l’utilisateur au-dessus du texte de chaque publication sur la page de publication. Cependant, je n’ai pas réussi à intégrer les données utilisateur dont j’ai besoin dans la sortie du plugin « topic-above-post-stream ». Par conséquent, après avoir ajouté le code ci-dessous dans le fichier common/head_tag.html, une icône de corbeille s’affiche sur la sortie du plugin « 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>