Je joue depuis quelques semaines en personnalisant le forum. La documentation sur les thèmes et les composants a été vraiment très utile !
Récemment, j’ai ajouté des champs personnalisés pour les utilisateurs lors de l’inscription, qui peuvent être modifiés après coup.
Mon défi actuel est d’implémenter une fonction de saisie semi-automatique pour l’un de ces champs et de le connecter à une API.
Pour l’instant, je demande à l’utilisateur de saisir du texte que je stocke comme valeur, ce qui n’est pas très satisfaisant.
De plus, j’ai une API qui renvoie du JSON lors d’une requête POST avec la recherche.
L’objectif est donc d’interroger l’API avec la valeur saisie et de proposer des suggestions à l’utilisateur.
Je n’ai pas trouvé de moyen de créer un nouveau type de champ utilisateur personnalisé et de le rendre compatible avec la saisie semi-automatique.
J’ai aussi perdu du temps à essayer de créer un widget ou un composant, de l’ajouter au formulaire d’inscription et d’enregistrer sa valeur dans la base de données.
Si vous avez une idée pour une meilleure approche, je vous serais très reconnaissant de votre aide sur ce sujet !
Il vous faudrait un plugin pour faire cela. Vous pouvez aussi examiner d’autres codes qui gèrent l’autocomplétion, comme ceux des catégories, pour voir comment cela fonctionne. Je ne suis toujours pas très doué pour ce genre de choses et je pense que cela me prendrait 3 à 10 heures. Je pense qu’une personne qui a déjà fait cela pourrait le faire en 1 à 2 heures.
Cependant, si vous récupérez vos données de recherche depuis une source externe, vous pourriez tout faire dans un composant de thème. Encore une fois, mon meilleur conseil est d’examiner les parties du cœur de Discourse qui effectuent ce type de recherche, comme les éléments de catégorie et d’étiquette.