Verwendung von Query-Strings zum Filtern von Themenansichten

:bookmark: Diese Anleitung erklärt, wie Sie Abfragezeichenfolgen verwenden, um benutzerdefinierte gefilterte Themenansichten auf jeder Discourse-Site zu erhalten. Abfragezeichenfolgen können von allen Benutzern verwendet werden, um bestimmte Themenlisten anzuzeigen, benutzerdefinierte Links zu eindeutigen Themenlisten zu erstellen und nach Themen zu suchen, die bestimmte Kriterien erfüllen.

:person_raising_hand: Erforderliches Benutzerniveau: Alle Benutzer

Abfragezeichenfolgen sind Text, den Sie am Ende der meisten Discourse-URLs anhängen können, um eine benutzerdefinierte, gefilterte Ansicht von Themen zu erhalten. Sie können nützlich sein, um bestimmte Themenlisten anzuzeigen, benutzerdefinierte Links zu eindeutigen Themenlisten zu erstellen und nach Themen zu suchen, die bestimmte Kriterien erfüllen.

Abfragezeichenfolgen verstehen

Eine Abfragezeichenfolge wird am Ende einer URL hinzugefügt, beginnend mit einem Fragezeichen (?), gefolgt von Parametern und ihren Werten. Zum Beispiel:

https://meta.discourse.org/?status=open

In dieser URL ist ?status=open die Abfragezeichenfolge.
Die Liste der Themen, die Sie bei der Verwendung von Abfragezeichenfolgen sehen, ist weiterhin auf die Themen beschränkt, auf die Ihr Benutzerkonto zugreifen kann. Es müssen keine Einstellungen aktiviert werden, um Abfragezeichenfolgen zu verwenden.

Verfügbare Abfragezeichenfolgenparameter

Hier sind die Abfragezeichenfolgenparameter, die Sie auf allen Discourse-Sites verwenden können:

Status

Verwenden Sie ?status=_, um Themen mit einem bestimmten Status anzuzeigen:

  • open: Nur offene Themen
  • closed: Nur geschlossene Themen
  • archived: Nur archivierte Themen
  • unlisted: Nur nicht gelistete Themen
  • deleted: Nur gelöschte Themen

Suche

Verwenden Sie ?search=_, um eine vollständige Seite mit Suchergebnissen zu erstellen. Ersetzen Sie _ durch Ihre Suchbegriffe.

Zustand

Verwenden Sie ?state=_, um Themen mit einem bestimmten Zustand anzuzeigen:

  • muted: Themen anzeigen, die Sie stummgeschaltet haben
  • normal: Themen anzeigen, die Sie auf normal gesetzt haben
  • tracking: Themen anzeigen, die Sie verfolgen
  • watching: Themen anzeigen, die Sie beobachten

Aufsteigende Reihenfolge

Verwenden Sie ?ascending=true, um Themen nach Datum in aufsteigender Reihenfolge anzuzeigen. Die Standardeinstellung ist absteigende Reihenfolge.

Reihenfolge

Verwenden Sie ?order=_, um Themen in absteigender Reihenfolge nach verschiedenen Kriterien anzuzeigen:

  • likes: Nach Anzahl der Likes
  • op_likes: Nach Likes im Originalbeitrag
  • views: Nach Aufrufen
  • posts: Nach Anzahl der Beiträge (Antworten)
  • activity: Nach Datum der letzten Aktivität (einschließlich bumped_at-Datum)
  • posters: Nach Anzahl der Teilnehmer
  • category: Nach Kategoriename (Z-A)
  • created: Nach Datum der Themen-Erstellung (neueste Themen zuerst)

Beitragsanzahl-Filter

  • ?max_posts=_: Gibt Themen mit einer Beitragsanzahl von _ oder weniger zurück
  • ?min_posts=_: Gibt Themen mit einer Beitragsanzahl von _ oder mehr zurück

Themen-IDs

Verwenden Sie ?topic_ids=_, um eine Liste von Themen mit bestimmten IDs anzuzeigen. Akzeptiert eine durch Kommas getrennte Zeichenfolge von Themen-IDs.

Kategorie

Verwenden Sie ?category=_, um eine Liste von Themen für bestimmte Kategorien anzuzeigen. Akzeptiert eine durch Kommas getrennte Zeichenfolge von Kategorie-ID-Nummern.

Tags

Verwenden Sie ?tags=_, um Themen nach Tags zu filtern. Zum Beispiel würde https://meta.discourse.org/?tags=how-to alle Themen mit dem Tag how-to anzeigen.

Plugin-spezifische Parameter

Einige Plugins fügen zusätzliche Abfragezeichenfolgenparameter hinzu:

Gelöst-Plugin

Wenn Sie das Gelöst-Plugin installiert haben:

  • ?solved=yes: Gelöste Themen anzeigen
  • ?solved=no: Ungelöste Themen anzeigen

Zuweisen-Plugin

Wenn Sie das Zuweisen-Plugin installiert haben:

  • ?assigned=username: Alle zugewiesenen Themen für einen bestimmten Benutzer anzeigen
  • ?assigned=*: Alle zugewiesenen Themen für alle Benutzer anzeigen
  • ?assigned=me: Alle dem aktuellen Benutzer zugewiesenen Themen anzeigen
  • ?assigned=nobody: Alle nicht zugewiesenen Themen anzeigen

Abfragezeichenfolgen kombinieren

Sie können mehrere Abfragezeichenfolgen mit dem Ampersand-Symbol (&) kombinieren. Wenn Sie mehrere Abfragezeichenfolgen verwenden, benötigt nur der erste Parameter das ?-Symbol. Zum Beispiel:

https://meta.discourse.org/?max_posts=1&status=closed

Diese URL würde geschlossene Themen mit nur einem Beitrag anzeigen.

Die erweiterte Suchseite verwenden

Sie können auch die erweiterte Suchseite verwenden, um diese URLs mit einer grafischen Benutzeroberfläche zu erstellen und dann die resultierende URL zu kopieren. Beachten Sie, dass einige Suchfilter möglicherweise nicht als Abfragezeichenfolgenparameter außerhalb des Suchkontexts funktionieren.

Zusätzliche Ressourcen

18 „Gefällt mir“

Können Sie nicht die Seite für erweiterte Suchen verwenden, um diese URLs mit der grafischen Benutzeroberfläche zu erstellen und dann einfach die URL zu kopieren?

1 „Gefällt mir“

Es scheint, dass es sich um dieselben Parameter handelt (wir müssen nur den Doppelpunkt : im Suchfilter durch ein Gleichheitszeichen = im Query-String ersetzen), aber einige Suchfilter funktionieren nicht, wenn sie als Query-String-Parameter außerhalb der Suche verwendet werden.

Daher glaube ich, dass die vollständige Liste in dieser Dokumentation enthalten ist. Ich wäre jedoch neugierig zu sehen, in welcher Discourse-Datei sie referenziert werden, um sicher zu sein.

Bearbeiten: Es gibt jetzt eine /filter-Route mit viel mehr Filterkriterien:

3 „Gefällt mir“

Wenn Sie das Solved-Plugin haben, können Sie auch verwenden:

?solved=yes
?solved=no

3 „Gefällt mir“

Ich glaube, es gibt auch einige für Assign:

Ich werde sie hinzufügen. :+1:

3 „Gefällt mir“

Ich schätze, man könnte das auch für Tags verwenden?

Fantastisch, wie das geht

2 „Gefällt mir“

Ja, Sie können ?tags=_ an Discourse-URLs anhängen, um Abfragestrings zum Filtern nach Tags zu verwenden.

Zum Beispiel würde https://meta.discourse.org/?tags=how-to Sie zu allen #how-to-Tags auf Meta weiterleiten.

2 „Gefällt mir“

Ist es möglich, einen negativen (ausschließenden) Filter mit einer Abfragezeichenfolge zu verwenden? Derzeit wird dies mit der erweiterten Suche durch Voranstellen eines - erreicht

-tags: smth, aber das ist mit einer Abfragezeichenfolge nicht möglich.

Es ist definitiv möglich, indem Sie die neue Route /filter verwenden.

Zum Beispiel https://meta.discourse.org/filter?q=-tags%3Aofficial%20%20category%3Aplugin

3 „Gefällt mir“

Danke! Wie sieht es mit der Suche nach mehreren Status (ODER) aus? Ich habe verschiedene Suchmethoden ausprobiert, aber es scheint, dass dies überhaupt nicht unterstützt wird. Ich habe zum Beispiel einige Themen, die offen, geschlossen oder archiviert sind, und möchte nur die archivierten herausfiltern, d. h. nach offen ODER geschlossen suchen. Bisher habe ich Folgendes versucht:

  • Erweiterte Suche: status:open,closed
  • Erweiterte Suche: status:open status:closed
  • Abfragestring: ?status=open,closed

Keine davon funktioniert.