Tenter d'afficher des sujets dans un élément de menu personnalisé

Afin d’apprendre et d’appliquer différents concepts de discours, je suis en train de créer un plugin qui affichera tous les sujets tendances. Je n’ai pas encore défini les critères pour déterminer ce qu’est un sujet tendance, mais voici les problèmes auxquels je suis confronté.

J’ai également exposé mon processus de réflexion à chaque problème, et je souhaiterais davantage une solution basée sur la réflexion plutôt qu’une solution toute faite, ce qui m’aiderait à penser clairement et de manière générale pour résoudre de nombreux autres problèmes.

J’ai créé un nouvel élément de menu en utilisant api.addNavigationBarItem.
J’ai également créé une route personnalisée appelée /hot-topics dans le frontend et le backend.
Pour l’instant, j’affiche un simple titre h3 sur la route /hot-topics.

  1. Ma première tâche consiste à ce que, lorsque je clique sur l’élément de navigation, la barre de navigation reste visible et que l’onglet « Sujets tendances » soit mis en surbrillance.
    Je pense que cela sera possible avec le composant {{navigation-bar}}, mais je crois que je dois retourner les éléments de navigation dans la méthode model de l’objet route afin qu’ils soient transmis au modèle.
    J’ai retourné un tableau codé en dur depuis la méthode model, mais sans succès.

  2. Ma deuxième tâche consiste à récupérer les soi-disant sujets tendances et à les afficher sur l’onglet « Sujets tendances ».
    Pour cela, j’utilise le composant {{categories-topic-list}}. J’ai du mal à comprendre comment je devrais transmettre les données à ce composant pour afficher les sujets nécessaires.

Veuillez suggérer quelques idées sur la manière de procéder. De plus, quel serait votre processus de réflexion en essayant de résoudre ce problème ?

Merci d’essayer d’apprendre Discourse !

Je comprends que c’est une expérience d’apprentissage, mais j’ai tout de suite une question : quelle est la différence entre Hot et la visite de /top pour voir ce que nous considérons comme les meilleurs sujets ? Vous pouvez filtrer par semaine, voire par jour si vous le souhaitez. C’est censé être notre “Hot”.

Vous pourriez envisager d’ajouter votre route dans les routes discovery., comme nous le faisons pour latest, new, top, etc. Ces routes génèrent déjà la barre de navigation pour vous. Je vous suggère d’examiner le code de Discourse pour voir comment les autres routes sont créées. Ils contiennent des exemples sur la façon de récupérer des données pour leurs listes de sujets.

J’ai réalisé qu’après un certain temps à travailler sur cet exercice, je dois réutiliser les éléments existants plutôt que de les recréer. J’ai suivi ce cours pour approfondir ma compréhension des concepts d’Ember.

Avec cela et l’idée que vous avez partagée concernant les routes discovery., je vais plonger dans le code de Discourse pour voir si je peux comprendre clairement comment Discourse récupère les données pour ces routes et les transmet au composant.

Merci beaucoup pour votre temps, @eviltrout.