Je suis vraiment un noob en ce qui concerne Discourse, mais aussi les forums en général, et j’aimerais demander et comprendre si et comment il est possible qu’une URL de fil contienne sa catégorie.
J’utilise un logiciel tiers qui extrait des données d’un forum. Je suis limité par ses requêtes et donc, lorsqu’il extrait un fil de discussion (sujet), il doit déduire à quelle catégorie il appartient, ce qu’il semble faire via l’URL.
Cela n’a aucun sens du point de vue d’une application, comme je l’ai souligné, mais vous pourriez être en mesure de créer un plugin ou un script pour modifier toutes les URL.
La catégorie est claire dans le HTML des vues de l’explorateur, je crois, alors peut-être pourriez-vous modifier l’outil pour en tirer parti à la place ?
Si vous fournissez explicitement les URL au scraper et définissez comment il en extraira la catégorie, vous pourriez être en mesure d’utiliser ce que Tobias a suggéré comme une solution de contournement – vous pourriez lui fournir par exemple /t/category-name__topic-slug/topic-id. Discourse servira une réponse de redirection 301 vers l’URL finale, basée uniquement sur le topic-id.
Si, cependant, il obtient les URL pendant le processus de scraping, cela semble être beaucoup de travail pour un changement visant uniquement à pallier une limitation de la stratégie de scraping.
Pas à ma connaissance. Servir une route /t/category-name/topic-slug/topic_id dans un plugin semble réalisable, mais avoir ensuite une option pour que toutes les références aux sujets dans Discourse privilégient cette route alternative semble (pour moi, personnellement) être trop de travail pour un gain minime.