Est-il possible de modifier l’icône utilisée dans les avis du personnel, soit via CSS, soit par un paramètre que je n’aurais pas encore trouvé ? De préférence, nous souhaiterions la remplacer par une image personnalisée plutôt que par une icône FA.
Nous n’avons pas de paramètre pour cela et je pense que le faire uniquement en CSS est difficile, mais vous pouvez créer un composant de thème pour le remplacer.
En CSS, vous cacherez l’ancienne icône :
.post-notice {
.d-icon-user-shield {
display: none;
}
}
En JavaScript (vous placez ceci dans <head> du composant de thème), vous décorerez l’avis et ajouterez la nouvelle icône :
<script type="text/discourse-plugin" version="0.8">
const { iconNode } = require("discourse-common/lib/icon-library");
api.decorateWidget('post-notice:before', helper => {
return iconNode('heart');
});
</script>
… ou si vous souhaitez le remplacer par une image… :
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('post-notice:before', helper => {
return helper.h('img', {
src: 'https://www.discourse.org/a/img/home-spot-1.png',
style: 'margin-right: 0.65em',
height: 30,
width: 30
});
});
</script>
Avec les thèmes et les composants de thème, les possibilités sont infinies. Si vous souhaitez en savoir plus, nous avons une ressource à ce sujet :
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
Je viens d’essayer ceci ; le premier extrait de code JS a dû être légèrement mis à jour.
Ceci doit maintenant aller dans l’onglet JS d’un composant de thème (ou d’un thème) à la place :
import { apiInitializer } from "discourse/lib/api";
import { iconNode } from "discourse-common/lib/icon-library";
export default apiInitializer("0.11.1", (api) => {
api.decorateWidget("post-notice:before", () => {
return iconNode("heart");
});
});
Je n’ai pas regardé comment utiliser une image à la place, désolé.
Après l’avoir ajouté à mon thème, j’ai vu un avertissement à cause de Upcoming post stream changes - How to prepare themes and plugins. Je crains donc qu’une autre mise à jour ne soit bientôt nécessaire.
J’ai essayé cela parce que j’étais curieux de savoir si cela n’affectait que les notes du personnel ou aussi les notes des nouveaux utilisateurs et des utilisateurs de retour, car ce sont toutes des notifications de publication.
Cela affecte toutes les notifications de publication, tandis que le CSS ci-dessus ne masque que le bouclier. Vous vous retrouvez donc avec deux icônes sur les notifications des nouveaux utilisateurs et des utilisateurs de retour.
C’est un peu insatisfaisant alors !!
Dans ma hâte de poster cela, j’ai oublié de supprimer api.decorateWidget. J’ai dû ignorer l’erreur sur mon site sans m’en rendre compte.
Je suis sûr que le CSS pourrait être mieux ciblé, mais je viens de découvrir Quote Callouts - cela conviendra mieux à mon cas d’utilisation de toute façon, je pense.


