C’est un composant très utile ! À mon avis, il devrait être intégré à Discourse du point de vue de l’expérience utilisateur, mais ce n’est que mon opinion.
Quoi qu’il en soit, je suis bloqué en essayant de faire fonctionner la même logique pour les Catégories. Je voulais le faire avec api.modifyClass, mais il semble que je manque l’élément crucial. Pouvez-vous s’il vous plaît m’aider ?
J’ai ce paramètre pour ma page de bureau :
Fondamentalement, la boîte rouge à gauche devrait être cliquable :
Si vous souhaitez expérimenter et bifurquer ce composant, vous êtes le bienvenu
Pour commencer à rendre une catégorie cliquable, je vous suggère d’examiner le code de ce composant qui le réalise en modifiant le composant topic-list-item au cœur de Discourse.
Vous pourriez essayer de créer un nouveau fichier dans ce même dossier, en ciblant l’un des nombreux types de mises en page de catégories inclus dans nos composants, et en veillant à choisir le même style de page de catégorie que celui sélectionné sur votre forum.
Certains d’entre eux sont listés ci-dessous avec leurs emplacements…
Nous nous sommes appuyés sur ce composant pour rendre les cartes de sujet de la vue Catégories + Derniers (par défaut dans notre cas) cliquables. Depuis la mise à jour d’aujourd’hui vers la dernière version 3.1.0beta8 (maintenant affichée comme 3.2.0.beta1-dev), le composant a cessé de fonctionner correctement.
Maintenant, l’état actif du curseur reste cliquable, mais la zone du sujet n’est pas cliquable. Avec la console du navigateur ouverte, il y a une erreur, qui pourrait aider les développeurs à identifier le problème :
Uncaught TypeError: this.router is undefined
function navigateToTopic(topic, href) {
if (this.siteSettings.page_loading_indicator !== "slider") {
// Avec le curseur, il est plus agréable que l'en-tête se mette à jour une fois que le reste du contenu du sujet est chargé,
// donc sautez la définition précoce.
this.appEvents.trigger("header:update-topic", topic);
}
this.session.set("lastTopicIdViewed", {
topicId: topic.id,
historyUuid: this.router.location.getState?.().uuid
});
_url.default.routeTo(href || topic.get("url"));
return false;
}
Salut @kinetiksoft - Je n’ai pas pu reproduire le problème de mon côté. Le composant de thème semble bien fonctionner avec la dernière version de Discourse. L’utilisation du lien « aperçu sur le créateur de thème » dans le message d’origine ici semble également fonctionner.
Pourriez-vous partager un lien vers un site présentant le problème ? Il y a peut-être un conflit avec un autre thème/plugin.
Merci @kinetiksoft ! Il semble que le problème survienne lorsque le composant de thème est utilisé parallèlement à la vue « catégories + dernières » (que vous avez configurée comme page d’accueil).
J’ai créé une PR qui devrait résoudre le problème.
Je posterai ici une fois qu’elle sera fusionnée, et vous devrez ensuite mettre à jour votre forum vers la dernière version du cœur de Discourse.
Je ne suis pas sûr si j’ai mal configuré ce composant de thème, mais tout le texte du corps sur le sujet dans la carte n’est pas cliquable. Si vous cliquez juste après la fin du texte sur l’une ou l’autre ligne, vous pouvez activer la carte et ouvrir le sujet.
Avez-vous des idées sur ce qui pourrait causer cela ?