Diese Dokumentation erklärt, wie man einen Link erstellt, der ein neues Thema in Discourse mit vorausgefüllten Informationen startet.
Erforderliches Benutzerniveau: Alle Benutzer
Manchmal möchten Sie Benutzern einen Link zur Verfügung stellen, der einen neuen Themen-Editor mit bestimmten vorausgefüllten Informationen öffnet. Dies kann für verschiedene Anwendungsfälle nützlich sein, einschließlich Fehlerberichtsvorlagen, Funktionsanfragen oder standardisierter Beiträge.
Den URL erstellen
Basis-URL
Um ein neues, vorausgefülltes Thema ohne zusätzliche Informationen zu erstellen, hängen Sie /new-topic an Ihre Seiten-URL an, so:
https://discourse.example.com/new-topic
Wenn Sie darauf klicken, wird ein leerer neuer Themen-Editor für jeden angemeldeten Benutzer geöffnet (falls nicht angemeldet, werden Sie aufgefordert, sich anzumelden/zu registrieren, bevor der Editor geöffnet wird).
Zusätzliche Parameter
Obwohl ein Link zum Öffnen eines leeren Editors manchmal nützlich sein kann, liegt die Hauptstärke dieser Funktion in der Möglichkeit, den Editor mit zusätzlichen Informationen vorab auszufüllen.
Dazu können Sie der Basis-URL Parameter hinzufügen:
https://discourse.example.com/new-topic?title=themen%20titel&body=themen%20inhalt&category=kategorie/unterkategorie&tags=email,geplant
Dies öffnet ein Composer-Fenster, das mit dem Thementitel, dem Inhalt, der Kategorie und den Tags vorausgefüllt ist.
Wenn wir den Link/die URL aufschlüsseln, um die verfügbaren Optionen anzuzeigen, haben wir:
- Basis-URL:
https://discourse.example.com/new-topic - Der
?URL-Operator, um die verschiedenen Optionen hinzuzufügen - Thementitel:
title=themen%20titel - Das
&, das jedes Mal verwendet wird, wenn ein weiterer Parameter eingeschlossen wird - Inhalt:
body=themen%20inhalt - Die Kategorie und Unterkategorie, getrennt durch einen Schrägstrich
/, falls Sie diese einschließen möchten:category=kategorie/unterkategorie - Die Tags, getrennt durch Komma(s)
,, falls Sie mehrere Tags einschließen möchten:tags=email,geplant
Jeder der Parameter ist optional und kann je nach dem gewünschten Endergebnis kombiniert werden.
Als Alternative zur Verwendung des Kategorie-/Unterkategorienamens können Sie stattdessen eine numerische category_id angeben, wie zum Beispiel:
https://meta.discourse.org/new-topic?title=themen%20titel&category_id=3
Beispiel
Sie können dies hier auf Meta ausprobieren:
https://meta.discourse.org/new-topic?title=themen%20titel&body=themen%20inhalt&category=support/wordpress&tags=wordpress
Bitte erstellen Sie das Thema aber nicht wirklich
Für ein praxisnäheres Erkunden der Funktion nutzen Sie unsere Demo-Seite, try.discourse.org
Verwendung der Browser-Entwicklertools
Öffnen Sie die Browserkonsole (F12 → Konsole) und verwenden Sie das eingebaute URLSearchParams, um die URL zu erstellen – es kümmert sich automatisch um die gesamte Prozentkodierung:
const base = 'https://discourse.example.com/new-topic';
const url = base + '?' + new URLSearchParams({
title: 'Mein Thementitel',
body: `Text des Inhalts hier...\nunterstützt mehrzeilig`,
category: 'support',
tags: 'bug,dringend'
});
console.log(url); // diese URL kopieren
Verwendung einer vorausgefüllten URL mit Featured Links
Diese Funktion unterstützt auch Featured Links, vorausgesetzt, der body-Parameter wird nicht ebenfalls enthalten.
Die URL muss für den Link URL-kodiert sein, damit er funktioniert.
Um beispielsweise ein Thema mit der folgenden URL https://www.xkcd.com/556 zu erstellen, lautet der Link:
https://meta.discourse.org/new-topic?title=https%3A%2F%2Fwww.xkcd.com%2F556
Best Practices
- Die HTML URL-Codierungsreferenz von w3Schools ist eine gute Ressource, um herauszufinden, wie Textzeichen in der URL kodiert werden. Wenn Sie viel Text hinzufügen möchten, gibt es im Abschnitt „Try It Yourself“ auch einen Text-zu-URL-Konverter.
- Kodieren Sie die Parameter immer URL-seitig, um Probleme mit Sonderzeichen zu vermeiden.
- Wenn Sie sich bezüglich der Kategorie-ID nicht sicher sind, können Sie diese überprüfen, indem Sie die Nummer in der Kategorie-URL nachsehen. (z. B. Using Discourse - Discourse Meta)
- Testen Sie die vorausgefüllten Links, um sicherzustellen, dass sie wie erwartet funktionieren.
Es ist derzeit nicht möglich, einen vorausgefüllten Link zu haben, der einen Editor zum Antworten auf ein bestimmtes Thema öffnet.