ich bin ein ziemlicher N00b, was Discourse angeht, aber auch Foren im Allgemeinen, und ich möchte fragen und verstehen, ob und wie es möglich ist, dass eine URL eines Threads seine Kategorie enthält.
Ich nutze eine Drittanbietersoftware, die ein Forum scrapt. Ich bin auf deren Abfragen beschränkt und wenn sie einen Thread (Thema) scrapt, muss sie ableiten, zu welcher Kategorie er gehört, was sie anscheinend über die URL tut.
Aus App-Sicht ergibt das keinen Sinn, wie ich bereits erwähnt habe, aber Sie könnten vielleicht ein Plugin oder Skript erstellen, um alle URLs zu ändern.
Die Kategorie ist meiner Meinung nach im HTML der Crawler-Ansichten klar, vielleicht können Sie das Tool stattdessen so ändern, dass es diese nutzt?
Wenn Sie die URLs explizit für den Scraper bereitstellen und definieren, wie er die Kategorie daraus extrahieren soll, könnten Sie vielleicht das verwenden, was Tobias als Hack vorgeschlagen hat – Sie könnten ihm zum Beispiel /t/category-name__topic-slug/topic-id übergeben. Discourse wird eine 301-Weiterleitungsantwort an die endgültige URL senden, die ausschließlich auf der topic-id basiert.
Wenn er die URLs jedoch während des Scraping-Prozesses erhält, erscheint es wie viel Arbeit für eine Änderung, die nur dazu dient, eine Einschränkung in der Scraping-Strategie zu erfüllen.
Soweit ich weiß, nicht. Das Bereitstellen einer /t/category-name/topic-slug/topic_id-Route in einem Plugin scheint machbar, aber dann eine Option zu haben, damit alle Verweise auf Themen in Discourse diese alternative Route bevorzugen, scheint (für mich persönlich) zu viel Arbeit für wenig Gewinn zu sein.