Abfragezeichenfolgen verwenden, um Themenansichten zu filtern

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

:person_raising_hand: Erforderliche Benutzerstufe: Alle Benutzer

Abfragezeichenfolgen sind Text, den Sie an das 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 spezifische Themenlisten anzuzeigen, benutzerdefinierte Links zu einzigartigen Themenlisten zu erstellen und nach Themen zu suchen, die bestimmte Kriterien erfüllen.

Abfragezeichenfolgen verstehen

Eine Abfragezeichenfolge wird an das Ende einer URL angehängt, beginnend mit einem Fragezeichen (?), gefolgt von Parametern und deren Werten. Zum Beispiel:

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

In dieser URL ist ?status=open die Abfragezeichenfolge.

Die Themenliste, die Sie bei der Verwendung von Abfragezeichenfolgen sehen, ist weiterhin auf die für Ihr Benutzerkonto zugänglichen Themen beschränkt. Es müssen keine Einstellungen aktiviert werden, um Abfragezeichenfolgen zu verwenden.

Verfügbare Abfragezeichenfolgen-Parameter

Hier sind die Abfragezeichenfolgen-Parameter, die Sie auf allen Discourse-Websites 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
  • listed: Nur aufgeführte (sichtbare) Themen
  • unlisted: Nur nicht aufgeführte Themen
  • deleted: Nur gelöschte Themen
  • public: Nur Themen in öffentlichen (nicht lesebeschränkten) Kategorien

Suche

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

Zustand

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

  • muted: Zeigt Themen an, die Sie stummgeschaltet haben
  • normal: Zeigt Themen an, die Sie auf „normal" gesetzt haben
  • tracking: Zeigt Themen an, die Sie verfolgen
  • watching: Zeigt Themen an, die Sie beobachten
  • watching_first_post: Zeigt Themen in Kategorien oder mit Tags an, bei denen Sie den ersten Beitrag beobachten

Aufsteigende Reihenfolge

Verwenden Sie ?ascending=true, um Themen nach Datum in aufsteigender Reihenfolge anzuzeigen. Standardmäßig ist die absteigende Reihenfolge aktiv.

Reihenfolge

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

  • likes: Nach Anzahl der Likes
  • op_likes: Nach Likes auf den ursprünglichen Beitrag
  • views: Nach Aufrufzahlen
  • posts: Nach Anzahl der Beiträge (Antworten)
  • activity: Nach dem Datum der letzten Aktivität (einschließlich bumped_at-Datum)
  • posters: Nach der Anzahl der Teilnehmer
  • category: Nach Kategorienamen (Z-A)
  • created: Nach dem Erstellungsdatum des Themas (neueste Themen zuerst)

Filter nach Beitragsanzahl

  • ?max_posts=_: Gibt Themen zurück, die _ oder weniger Beiträge haben
  • ?min_posts=_: Gibt Themen zurück, die _ oder mehr Beiträge haben

Filter nach Alter

  • ?before=_: Gibt Themen zurück, die vor mehr als _ Tagen erstellt wurden
  • ?bumped_before=_: Gibt Themen zurück, die vor mehr als _ Tagen zuletzt aktualisiert („bumped") wurden

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-IDs.

Verwenden Sie ?no_subcategories=true, um Themen aus Unterkategorien auszuschließen, wenn Sie nach Kategorie filtern.

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.

Verwenden Sie ?match_all_tags=true in Kombination mit ?tags=_, um zu verlangen, dass Themen alle angegebenen Tags haben (anstatt nur eines davon).

Verwenden Sie ?no_tags=true, um nur Themen anzuzeigen, die keine Tags haben.

Verwenden Sie ?exclude_tag=_, um Themen mit einem bestimmten Tag auszuschließen.

Filter „Gefällt mir"

Verwenden Sie ?f=liked, um nur Themen anzuzeigen, bei denen der aktuelle Benutzer einem Beitrag „Gefällt mir" gegeben hat.

Pluginspezifische Parameter

Einige Plugins fügen zusätzliche Abfragezeichenfolgen-Parameter hinzu:

Solved-Plugin

Wenn Sie das Solved-Plugin installiert haben:

  • ?solved=yes: Zeigt gelöste Themen an
  • ?solved=no: Zeigt nicht gelöste Themen an

Assign-Plugin

Wenn Sie das Assign-Plugin installiert haben:

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

Kombination von Abfragezeichenfolgen

Sie können mehrere Abfragezeichenfolgen mit dem Ampersand (&) kombinieren. Bei der Verwendung mehrerer Abfragezeichenfolgen 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.

Verwendung der erweiterten Suchseite

Sie können auch die erweiterte Suchseite verwenden, um diese URLs über eine grafische Benutzeroberfläche zu erstellen und dann die resultierende URL zu kopieren. Beachten Sie, dass einige Suchfilter außerhalb des Suchkontexts möglicherweise nicht als Abfragezeichenfolgen-Parameter 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.