Bonjour à tous,
Je travaille sur un thème pour personnaliser plusieurs aspects de Discourse par défaut. Dans cette optique, l’un des éléments que je dois modifier est topic-list-item, qui semble assez simple. J’ajoute dans mon thème un fichier situé au chemin javascripts/discourse/templates/components/topic-list-item.hbs et je peux y insérer mon code. Cependant, c’est là que les questions commencent à émerger.
Il existe une méthode dans le composant pour ce template appelée renderTopicListItem, qui définit une propriété topicListItemContents rendue par défaut. Vérifiez :
La première question est POURQUOI ? Pourquoi devons-nous faire cela ? Pourquoi ne pas simplement utiliser le code Handlebars comme d’habitude ?
Afin de ne pas trop interférer avec le code principal, j’ai décidé de laisser topic-list-item tel quel et de remplacer topic-list-item.raw.hbs dans mon thème, ce qui fonctionne sans problème.
Néanmoins, je m’attendais à ce qu’ajouter un fichier comme javascripts/discourse/templates/mobile/list/topic-list-item.raw.hbs dans mon thème remplace la vue mobile, mais ce n’est pas le cas.
La méthode findRawTemplate renvoie toujours le template mobile par défaut de Discourse, qui contient :
Même en effectuant une édition manuelle dans mon projet Discourse local, je ne parviens pas à mettre à jour la version mobile avec mes modifications.
J’espère que l’explication est claire et que quelqu’un a des connaissances à ce sujet. Cela semble vraiment cassé pour le moment, et peut-être devrions-nous le réparer SI c’est vraiment cassé (je peux le faire si je comprends un peu mieux ce qui se passe).
En attendant, je continuerai à chercher une réponse moi-même et je partagerai toute nouvelle information. Ci-dessous, une petite capture GIF de ce que j’ai dans mon environnement local.
http://g.recordit.co/AtOJlltJ8o
MISE À JOUR : J’ai également renommé raw en .hbr suite à un commit récent qui a modifié les fichiers, mais je n’arrive toujours pas à faire fonctionner cela.


