Comment surcharger le fichier site-header.hbs depuis un thème personnalisé ?

J’essaie de remplacer site-header.hbs dans mon thème personnalisé. Le chemin dans Discourse vers ce fichier est plugins/styleguide/assets/javascripts/discourse/components/sections/organisms/site-header.hbs.

J’ai essayé d’ajouter dans le fichier head_tag.html de mon thème :

<script type="text/x-handlebars" data-template-name="javascripts/components/sections/organisms/site-header">
  <StyleguideExample @title="site header - in topic - scrolled">
    <div class="d-header-wrap">
        test
    </div>
  </StyleguideExample>
</script>

J’ai aussi essayé plusieurs variations :

<script type="text/x-handlebars" data-template-name="components/sections/organisms/site-header">
<div xmlns="http://www.w3.org/1999/xhtml">test</div>
</script>

<script type="text/x-handlebars" data-template-name="javascripts/components/sections/organisms/site-header">
<div xmlns="http://www.w3.org/1999/xhtml">test</div>
</script>

<script type="text/x-handlebars" data-template-name="javascripts/components/site-header">
<div xmlns="http://www.w3.org/1999/xhtml">test</div>
</script>

<script type="text/x-handlebars" data-template-name="javascripts/components/sections/organisms/site-header">
<div xmlns="http://www.w3.org/1999/xhtml">test</div>
</script>

mais rien n’aide. Pourriez-vous m’aider s’il vous plaît ?

1 « J'aime »

Vous essayez de faire autre chose pour lequel vous pensez que le remplacement du modèle est la solution. Le remplacement des modèles est fragile et susceptible de causer des problèmes à l’avenir. Qu’essayez-vous de faire à l’en-tête que vous ne pouvez pas faire avec une sortie de plugin ?

2 « J'aime »

@pfaffman merci pour votre réponse.
Le problème principal est que je dois conserver toutes les personnalisations dans le thème et non dans les plugins. Existe-t-il un autre moyen plus sûr d’y parvenir en utilisant le thème personnalisé ?

Les points de terminaison des plugins sont mis à jour dans les thèmes. Voir Using Plugin Outlet Connectors from a Theme or Plugin

Oui. Qu’essayez-vous de faire ?

4 « J'aime »

@pfaffman Je veux supprimer l’affichage du logo, ajouter un bouton personnalisé. Et au-dessus de l’en-tête, je veux afficher des liens dynamiques qui proviendront d’un composant personnalisé.

Vous ne devriez pas avoir besoin de remplacer le hbs pour faire tout cela.

Peut-être jetez un œil à Custom Header Links

Vous pouvez masquer le logo avec du CSS.

New Topic Header Button ajoute un bouton

Voir aussi (deprecated) Plugin outlet locations theme component

3 « J'aime »

@pfaffman merci. Je comprends tout à fait vos suggestions. Cependant, je voudrais savoir s’il existe un moyen de personnaliser des fichiers, tels que site-header.hbs via un thème personnalisé. Est-ce que cela a du sens ?

Ce n’est pas pris en charge. Avez-vous lu le lien que je vous ai partagé après votre publication précédente (dupliquée ?) ?

4 « J'aime »

@merefield Oui, j’ai lu votre article. Je voulais juste m’assurer.
D’accord, merci beaucoup.

2 « J'aime »

Cela pourrait vous aider (et garantir que vos personnalisations résistent à l’épreuve du temps)

4 « J'aime »

Ce Theme component pourrait également être une considération si vous recherchez un menu d’en-tête avec un sous-menu déroulant

L’avantage d’utiliser un composant existant (surtout s’il est officiel ou d’un des partenaires) est qu’il sera probablement entretenu avec moins de risques de casse.

3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.