Installations multiples du portefeuille utilisateur

D’accord, j’ai donc pris une direction différente de celle de l’utilisation des plugins de portfolio. Je ne suis pas sûr de devoir poster ceci ici ou dans un nouveau fil de discussion - si c’est le cas, faites-le moi savoir !

Quelqu’un peut-il jeter un œil à ceci et me dire ce que je fais de mal (et, espérons-le, pourquoi / comment le réparer) ? J’ai passé des heures et des heures à lire des tutoriels, à écrire et à modifier ceci, mais je suis très débutant et j’en suis arrivé à un point où je ne sais plus quoi essayer ensuite.

L’objectif : afficher une liste de sujets d’une catégorie spécifique sur la page de résumé d’un utilisateur.
Dans ce cas d’utilisation, il s’agit d’un forum RPG où les utilisateurs créeront des personnages pour poster des histoires. Je veux que ce plugin affiche les personnages qu’un utilisateur a créés afin que personne n’ait à chercher trop loin. Toutes les fiches de personnages seront stockées dans le même forum. Donc, je pense qu’il suffit de créer une liste de sujets qui récupère les sujets de l’utilisateur et du forum corrects.

J’ai utilisé les éléments suivants comme référence :

https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949

Voici ma tentative. Jusqu’à présent, l’en-tête de la liste des sujets (sujet/réponses/activité) s’affiche au bon endroit, mais il ne se remplit pas avec des sujets.

<script type="text/discourse-plugin" version="0.8">
  const ajax = require('discourse/lib/ajax').ajax;
  const Topic = require('discourse/models/topic').default;
  const User = require('discourse/models/user').default;
  // Besoin de ajax, Topic et User

  api.registerConnectorClass('above-user-summary-stats', 'character-list', {
    // above-user-summary-stats est le point de sortie du plugin, character-list est le nom du composant personnalisé

    setupComponents(args, component) {

        const store = getOwner(this).lookup("service:store");

        return ajax(userPath(`/topics/created-by/${this.username_lower}.json`)).then(function (result) {
        // lignes tirées de summary() dans le modèle user.js ; essayant de trouver le nom d'utilisateur du profil de l'utilisateur que nous visualisons afin de pouvoir accéder au json des sujets qu'il a créés

            let characterList = [];
            // tableau vide pour ajouter des sujets

            result.topic_list.topics.forEach.category_id(4)(function(topic){
            // sujets uniquement de la catégorie spécifique que nous voulons

            // vers ici, le tutoriel de Kris avait quelques lignes pour associer des utilisateurs au sujet. Je l'ai ignoré car je n'ai pas besoin que les utilisateurs autres que l'auteur original soient affichés avec le sujet. Est-ce important ?
            //topic.posters.forEach(function(poster){
                //poster.user = $.grep(featuredUsers, function(e){ return e.id == poster.user_id; })[0];
              //});

                characterList.push(Topic.create(topic));
                // ajouter des sujets à la liste des sujets

            });

            component.set('characterList', characterList);
            // Configurer notre composant avec les sujets du tableau

        }); // fin ajax


    } // fin setupComponents

  });
</script>

<script type="text/x-handlebars" data-template-name="/connectors/above-user-summary-stats/character-list">

      <div class="custom-character-list-wrapper">
        {{topic-list topics=characterList showPosters=false}}
      </div>

</script>