Salut, y a-t-il un moyen d’utiliser un thème différent juste pour la liste des sujets de messages personnels ? J’utilise actuellement le thème de Sam Sam's Simple Theme que ma communauté et moi préférons fortement pour la liste /latest, car il affiche les noms d’utilisateur de l’OP et du dernier intervenant en texte, et il élimine l’encombrement de la liste des avatars des intervenants fréquents dont personne ne se soucie. Malheureusement, le même paradigme échoue pour la liste /my/messages, surtout lorsque le créateur du sujet de MP est le même que le dernier intervenant :
Donc, dans le cas de /my/messages, j’aimerais idéalement simplement injecter la colonne td.posters.topic-list-data du thème Discourse par défaut dans cette vue. Mais si cela demande trop de travail, ce serait bien d’avoir la possibilité de passer d’une manière ou d’une autre au thème Discourse par défaut pour la vue MP.
Il existe d’autres thèmes personnalisés qui ont le même problème, comme celui de Kris Minima Theme.
C’est possible en remplaçant le thème, vous devrez donc d’abord le forker ou créer une demande auprès du thème. Dans le modèle personnalisé, vous pouvez utiliser ce qui suit pour modifier uniquement les éléments de la liste des sujets de messagerie privée.
{{#if topic.isPrivateMessage}}
...
{{/if}}
Masquer quelque chose dans l’élément de la liste des sujets de messagerie privée.
Merci beaucoup, j’ai réussi à le faire fonctionner presque entièrement avec un composant de thème :
Il semble que l’instruction #if topic.isPrivateMessage ne fonctionne pas pour l’en-tête de la liste des sujets, j’ai donc les avatars des participants aux messages privés qui s’affichent comme prévu, mais il manque une <td> dans les en-têtes, ce qui décale tout.
Ma solution de paresse est donc de ne pas utiliser la logique {{#if topic.isPrivateMessage}} et de simplement placer posters.topic-list-data à la fois dans /latest et dans /my/messages.
Si quelqu’un a des astuces pour implémenter la logique dans la surcharge handlebars, je préférerais toujours cela, plutôt que de gaspiller des cycles CPU à générer posters.topic-list-data puis à le cacher.
Salut, merci beaucoup, c’est une très bonne idée. Quelque chose n’a pas fonctionné avec le CSS comme suggéré car il affiche toujours la colonne vide Participants dans /latest, mais mon CSS d’origine semble bien fonctionner pour la masquer uniquement là :
Merci encore pour votre aide. Il se comporte de la même manière, il y a un en-tête de colonne Participants dans /latest qui désaligne les colonnes avec les colonnes de la liste des sujets. Je dois avoir d’autres personnalisations dans d’autres composants qui entrent en conflit.
Y a-t-il des problèmes potentiels ou des inconvénients avec cette solution CSS ?
Comme je vois que vous utilisez Firefox, il est possible que le sélecteur :has ne fonctionne pas de votre côté. Il n’est pris en charge qu’à partir de Firefox 121.
Cela expliquerait ! Et cela fonctionnait dans Chromium, mais j’avais supposé que c’était parce que je n’y étais pas connecté en tant qu’administrateur. J’utilise Firefox 115 ESR de Debian 12. Merci beaucoup, je devenais fou avec ça.
Ah bon. Je ne le savais pas, et c’est assez décevant pour être honnête . Je testerai définitivement plus souvent sur Firefox la prochaine fois. Merci pour ce retour !
Il y a une amélioration CSS supplémentaire que j’aimerais mettre en œuvre pour la rendre plus utile : sur des fenêtres de navigateur plus larges, elle affiche maintenant les participants PM comme prévu :
Mais sur des fenêtres plus étroites, elle réduit le nombre d’avatars de participants à un seul, nous nous retrouvons donc avec le même problème que celui décrit dans le premier message de ce sujet :
Existe-t-il un moyen de résoudre ce problème via CSS afin que sur des fenêtres plus étroites, la colonne Replies soit masquée et l’avatar dans la colonne Last Post soit masqué, laissant ainsi plus d’espace pour la colonne Participants ?
Merci ! Presque parfait, sauf qu’avec des largeurs comprises entre environ 1380 px et 1020 px, toutes les colonnes sont toujours affichées et les avatars des participants sont réduits à un seul. Moins étroit que cela fonctionne très bien.
Remplacez medium par extra-large dans breakpoint(). Il devrait maintenant commencer à partir de <= 1140px. Le comportement d’origine qui masque les avatars des participants se produit en fait à ce point d’arrêt. Est-ce que cela fonctionne ?