Impossibile montare "post-avatar" sull'outlet del plugin "topic-above-post-stream"

Dopo aver consultato questa guida " Guida per principianti allo sviluppo di temi Discourse ", ho provato a montare il widget post-avatar sull’outlet del plugin “topic-above-post-stream” nella pagina del post e non è apparso nella pagina.

Di seguito è riportato il codice che ho aggiunto

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

Mi manca qualcosa?

1 Mi Piace

È probabile che ti manchino attributi che il widget richiede per essere visualizzato… ad esempio, come fa a sapere quale utente vuoi mostrare l’avatar in questo contesto?

Guardando il widget originale qui:

si aspetta:

  • template
  • username
  • name
  • url

Quindi dovresti inserire i dati che desideri nel tuo plugin outlet, quindi passarli al widget… qualcosa come

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

detto questo… cosa stai cercando di ottenere più specificamente? se vuoi solo mostrare un avatar, usare l’helper avatar potrebbe essere un modo migliore per procedere… che assomiglierebbe a:

{{avatar user imageSize="large"}}

in questo caso dovresti comunque assicurarti che user sia presente, perché questo è il modo in cui sa quale utente visualizzare.

3 Mi Piace

Ciao @awesomerobot

Grazie per la tua risposta,

Ho intenzione di visualizzare l’avatar dell’utente sopra il testo di ogni post nella pagina del post. Tuttavia, non sono riuscito a inserire i dati utente necessari nell’outlet del plugin “topic-above-post-stream”. Pertanto, dopo aver aggiunto il codice seguente nel file common/head_tag.html, viene visualizzata un’icona a forma di cestino sull’outlet del 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>