Nous devons ajouter une clause de non-responsabilité ou une divulgation à certains articles (environ 100 et cela continue d’augmenter). La divulgation pourrait changer à l’avenir, j’aimerais donc ajouter [DISCLOSURE-GOES-HERE] à chacun des 100 articles. Nous pouvons l’ajouter manuellement, ce n’est pas un problème. Mais lorsque nous mettrons à jour notre divulgation à l’avenir, je ne veux la changer qu’à un seul endroit.
Ce que j’ai essayé :
Mots clés. Le problème est que les articles existants n’affichent pas la divulgation mise à jour tant que vous n’éditez pas l’article. Cela va à l’encontre de l’objectif pour ce cas d’utilisation.
Javascript pour remplacer innerHTML de l’élément. J’ai dû mal faire - cela a causé des erreurs concernant le remplacement d’un nœud enfant :
<script type="text/discourse-plugin" version="0.8">
var disclosures = "• Divulgations importantes : Nous ne sommes pas responsables, etc., etc."
api.decorateCooked($elem => {
var el = $elem[0];
el.innerHTML = el.innerHTML.replace('[DISCLOSURE-GOES-HERE]', disclosures);
});
</script>
Composant de thème Auto-linkify. Je l’adore pour d’autres choses, mais je veux afficher le texte de la divulgation, pas un lien vers la divulgation.
Je sais que vous pouvez remplacer du texte depuis la console Rails, mais je veux que les modérateurs la maintiennent.
Il existe une approche textuelle qui aidera également : rendre le message de divulgation « intemporel » et lier les détails de l’avertissement. Plutôt que…
Divulgations importantes : Nous ne sommes pas responsables, ni même au courant des affirmations de ce sujet.
… optez pour quelque chose comme :
Divulgations importantes : ce sujet contient du contenu qui pourrait nécessiter plus de contexte, fourni à Liste des divulgations
Ensuite, la majeure partie de votre mise à jour peut être cette page unique, qui pourrait également être un sujet dans Discourse (facile à modifier/mettre à jour !).