Comment ajouter un contenu HTML unique en dessous du corps du sujet dans le forum Discourse pour des sujets spécifiques

this.model contient les données du sujet telles que l’id, le titre, etc. Vous pouvez l’utiliser.

Par exemple, pour autoriser les id de sujet 90 ou 38, vous écririez :

<script type="text/x-handlebars" data-template-name="connectors/topic-area-bottom/custom-html">
  {{#if (or (eq this.model.id 90) (eq this.model.id 38))}}
    <div class="banner-control">
      <!-- Le contenu HTML unique va ici -->
    </div>
  {{/if}}
</script>

Cependant, je vous encourage à utiliser le Theme CLI et à travailler avec des fichiers séparés.

Il sera difficile d’ajouter plus de conditions ou d’avoir une logique ici. Il serait possible d’utiliser registerConnectorClass, mais c’est déprécié.

La méthode moderne consiste à utiliser renderInOutlet avec un composant Glimmer, par exemple GitHub - discourse/discourse-custom-header-links.
Vous dites que vous voulez rendre dans un outlet spécifique :

Vous avez le template défini ici. Notez this.shouldShow
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.hbs#L1

Ensuite, vous pouvez ajouter votre logique ici pour indiquer au composant s’il doit être affiché ou non :
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.js#L5-L7

J’espère que cela vous aidera. Faites-moi savoir si vous avez besoin d’aide supplémentaire. :+1:

5 « J'aime »