Comment rouvrir le widget header-contents ?

Bonjour ! Je suis débutant, j’espère donc votre aide. Je veux changer le contenu dans <header>...</header>. Quand j’ouvre les fichiers source, je vois que le widget “header-content” dit :

createWidget("header-contents", {
   tagName: "div.contents.clearfix",
   template:hbs`
     {{home-logo attrs=attrs}}
     {{#if attrs.topic}}
       {{header-topic-info attrs=attrs}}
     {{/if}}
     <div class="panel clearfix" role="navigation">{{yield}}</div>
   `,
});

J’écris dans common/head_tag.html


<script type="text/discourse-plugin" version="0.8.13">
     api.reopenWidget("header-contents", {
tagName: "div.contents.clearfix",
template:hbs`
<H1>Bonjour ! Aidez-moi s'il vous plaît !!!</H1>
<div class="panel clearfix" role="navigation">{{yield}}</div>
`
});
</script>

Cela ne fonctionne pas. Aidez-moi s’il vous plaît.

1 « J'aime »

Salut, @Deomid_Fedorov, bienvenue sur Meta :wave:

Si tu regardes dans la console du navigateur, tu verras quelque chose comme ceci :

ReferenceError: hbs n'est pas défini

Mais même si tu corriges cela, tu rencontreras toujours des problèmes pour faire fonctionner ceci car les templates sont censés être précompilés sur le serveur, pas côté client.

Nous avons plusieurs façons de personnaliser l’en-tête. Si tu me dis ce que tu essaies de faire, je pourrai probablement te montrer comment obtenir le résultat que tu souhaites.

3 « J'aime »

Salutations, Joe ! Merci beaucoup pour votre réactivité. Je dois dire que j’apprécie de plus en plus Discourse, mais il y a encore quelques difficultés que je n’ai pas réussi à surmonter. En général, j’ai un grand souhait : je veux pouvoir intégrer mon code HTML où je veux, dans n’importe quelle balise, et je veux pouvoir supprimer certains éléments que je considère superflus.

J’ai lu l’article Developing Discourse Themes & Theme Components
Cependant, ces instructions n’ont pas suffi à résoudre mes problèmes.

Passons à des exemples concrets :

  1. Comment intégrer mon code dans la balise <header> entre les blocs <div class="title"> et <div class="navigation"> ?
  2. Comment empêcher la génération de l’élément <ul id="navigation-bar"> ?

Je tiens à vous avertir que ma connaissance de l’anglais n’est pas parfaite, il peut donc y avoir des erreurs dans le texte. J’espère votre compréhension.

1 « J'aime »

Pas de soucis, nous pouvons résoudre cela.

Je vois à quoi vous faites référence ici.

mais je ne suis pas sûr de l’élément auquel vous faites référence ici.

Pouvez-vous ajouter une capture d’écran de l’endroit où vous souhaitez ajouter de nouveaux éléments ?

Si votre site n’a pas besoin de cet élément, vous pouvez le masquer avec du CSS. Donc, quelque chose comme ceci.

#navigation-bar {
  display: none;
}

Cela dit, cet élément offre aux utilisateurs un moyen facile de naviguer entre les différents filtres pour les listes de sujets, et je ne recommande pas de le supprimer - surtout sur mobile.

Cependant, vous connaissez votre communauté mieux que quiconque. Donc, si cela fonctionne pour vous, alors… super :+1:

2 « J'aime »


C’est ce que je veux dire. Je dois placer mon bloc personnalisé là où j’ai pointé avec la flèche sur la capture d’écran.
Je télécharge une autre capture d’écran pour que vous puissiez mieux comprendre le résultat que je souhaite obtenir :

Merci encore pour votre réactivité. J’ai de très bonnes compétences en CSS. Je sais qu’en écrivant display: none, je peux masquer l’élément. Mais j’aimerais avoir une expérience plus poussée. J’aimerais pouvoir gérer les modèles et les widgets comme un vrai professionnel. Je suppose qu’il existe un moyen de le faire plus correctement. Par exemple, réécrire le modèle ou autre chose.