Statistik-Banner

:discourse2: Zusammenfassung Stat Banner zeigt eine Liste von Website-Statistiken auf Ihrer Homepage an
:eyeglasses: Vorschau Vorschau im Discourse Theme Creator
: hammer_and_wrench: Repository https://github.com/discourse/discourse-stat-banner
: open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Installiere diese Theme-Komponente

Funktionen

Sie können beliebig viele Statistiken erstellen, die Statistiken werden von der /about-Seite bezogen, und Sie können wählen aus:

  • Themen
  • Beiträge
  • Aktive Benutzer
  • Benutzer
  • Likes
  • Chat-Nachrichten
  • Chat-Kanäle
  • Chat-Benutzer

und diese können individuell aus einem von 3 Zeiträumen eingestellt werden:

  • 1 Tag
  • 7 Tage
  • 30 Tage

Neben Quelle und Zeitraum können Sie auch konfigurieren:

  • Titel
  • Link (optional)
  • manueller_wert (optional, überschreibt den automatischen Wert)

Einstellungen

Name Beschreibung
Statistiken anzeigen
Banner-Titel
Anzeigen auf
Hintergrundfarbe Discourse-Farbvariable oder Hex-Wert
Textfarbe Discourse-Farbvariable oder Hex-Wert
min. Spaltenbreite
Auf Mobilgeräten ausblenden
Plugin-Outlet Plugin-Outlet, in dem diese Komponente angezeigt wird. Versuchen Sie above-main-container oder below-site-header. Sie können weitere Outlets mit der Plugin-Outlet-Locations-Theme-Komponente finden.
Cache deaktivieren Die Banner-Statistiken werden jedes Mal aktualisiert, wenn das Banner sichtbar ist. Beachten Sie, dass dies eine geringfügige zusätzliche Serverlast verursachen kann.

:discourse2: Bei uns gehostet? Theme-Komponenten sind für unsere Standard-, Geschäfts- und Enterprise-Pläne verfügbar.

27 „Gefällt mir“

iPhone SE ignoriert Auf Mobilgeräten ausblenden nicht.

Bearbeiten: Es scheint, dass kein Mobilgerät diese Einstellung befolgt und das Banner immer sichtbar ist.

3 „Gefällt mir“

Und eine kleine UX/UI-Anfrage – Links sollten wie ein Link aussehen.

3 „Gefällt mir“

Danke für das schnelle Feedback @Jagster! Ich habe es gerade aktualisiert, um diese Probleme zu beheben

3 „Gefällt mir“

Hallo, @awesomerobot,

Vielen Dank für diese Theme-Komponente; ich habe sie sofort mitgenommen.

Ich habe eine Frage an Sie, wenn es Ihnen nichts ausmacht, da ich etwas verwirrt bin. Ich verstehe die ‘Aktiven Benutzer’, da dies selbsterklärend ist, aber was decken die ‘Benutzer’ ab?

Gute Frage!

Aktive Nutzer sind Nutzer, die innerhalb des 1/7/30-Tage-Zeitraums gesehen wurden (sie haben die Website eingeloggt besucht).

Nutzer ist die Anzahl der neuen Konten, die innerhalb des 1/7/30-Tage-Zeitraums erstellt wurden.

2 „Gefällt mir“

Guten Morgen, @awesomerobot,

Ich habe mir die Komponente „Theme“ angesehen und basierend auf Ihrer Antwort zu „Benutzer“ und „Aktive Benutzer“ scheint es, als ob die Informationen nicht kürzlich aktualisiert wurden. Außerdem scheinen zwei verschiedene Werte für diese Metriken vorzuliegen.

Hier sind meine Statistiken auf dem Desktop:

Und auf dem Handy:

Obwohl der Unterschied nicht erheblich ist, kann ich nicht herausfinden, woher diese Statistiken stammen.

Ich habe versucht, einen „Refresh HTML Code“ für die Statistiken zu implementieren, wie folgt:

<script>
  setInterval(function() {
    location.reload();
  }, 60000); // Alle 1 Minute (60000 Millisekunden) aktualisieren
</script>

Hinweis: Der Code lädt die Seite alle 1 Minute (60000 Millisekunden) neu. Sie können das Intervall nach Ihren Wünschen anpassen.

Ich bin mir jedoch nicht sicher, ob dies in den Einstellungseditor eingefügt werden kann.

Jede Hilfe wäre sehr willkommen.

1 „Gefällt mir“

Aktualisierung:

Ich bin zu dem Schluss gekommen, dass es so aussehen sollte?

[
	{
		"setting": "display_stats",
		"value": "[{\"source\":\"posts\",\"period\":\"30_days\",\"title\":\"Posts\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"likes\",\"period\":\"30_days\",\"title\":\"Likes\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"active_users\",\"period\":\"30_days\",\"title\":\"Active Users\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"users\",\"period\":\"30_days\",\"title\":\"Sign-Ups\",\"link\":\"\",\"manual_value\":\"\"}]"
	},
	{
		"setting": "banner_title",
		"value": "Statistiken der letzten 30 Tage"
	},
	{
		"setting": "show_on",
		"value": "homepage"
	},
	{
		"setting": "background_color",
		"value": "var(--tertiary-low)"
	},
	{
		"setting": "text_color",
		"value": "var(--primary)"
	},
	{
		"setting": "min_column_width",
		"value": "10em"
	},
	{
		"setting": "hide_on_mobile",
		"value": false
	},
	{
		"setting": "plugin_outlet",
		"value": "above-main-container"
	},
	{
		"setting": "javascript",
		"value": "setInterval(function() { Discourse.__container__.lookup('controller:widget').send('refresh'); }, 3600000);"
	}
]

Ich erhalte jedoch eine Fehlermeldung:

javascript: Diese Einstellungen wurden hinzugefügt. Bitte entfernen Sie sie und versuchen Sie es erneut.

Die Statistiken werden von der Infoseite abgerufen. Sie verwenden dieselben Daten wie die Tabelle am Ende dieser Seite:

Die Daten im Banner werden basierend auf dem niedrigsten Statistikzeitraum ab dem Zeitpunkt aktualisiert, an dem der Benutzer den Banner zum ersten Mal gesehen hat.

Wenn Sie beispielsweise den Banner mit Statistiken vom letzten Tag konfiguriert haben, wird er 24 Stunden nach dem ersten Anzeigen des Banners aktualisiert. Wenn der Banner so konfiguriert ist, dass er nur Statistiken des letzten Monats anzeigt, werden die Daten einen Monat nach dem ersten Anzeigen aktualisiert (oder wenn Sie den lokalen Speicher Ihres Browsers löschen).

Dies wurde implementiert, um die Anzahl der Anfragen zu reduzieren. Anstatt die Statistiken bei jeder Anzeige des Banners zu aktualisieren, werden sie im lokalen Speicher des Browsers zwischengespeichert.

Dieser Editor dient nur zum Bearbeiten vorhandener Einstellungen. Sie können hier keine neuen Einstellungen (oder JavaScript) hinzufügen.

Wenn Sie möchten, dass dieser Banner häufiger aktualisiert wird, könnte ich eine neue Einstellung hinzufügen, die das Caching deaktiviert.

2 „Gefällt mir“

Hallo, @awesomerobot

Vielen Dank für die detaillierte Antwort und die Angabe der Quelle für die Statistiken. Ich habe jedoch immer noch das gleiche Problem mit den Statistiken, die auf meinem Mobiltelefon angezeigt werden, was seit der erstmaligen Installation der Fall ist.

Nach meinem Verständnis hätten meine Statistiken inzwischen auf Folgendes aktualisiert werden sollen:

Ich habe auch versucht, meinen Browser-Cache zu leeren, aber das hat keinen Unterschied gemacht.

Ich würde es sehr schätzen, wenn diese Option möglich wäre, da sie den Verbrauchern einen umfassenderen Einblick in das Forum geben würde.

2 „Gefällt mir“

Das sehen aus wie die Statistiken von /admin, die sich wahrscheinlich ein wenig von denen auf /about unterscheiden, aber unabhängig davon… wenn Sie die Komponente aktualisieren, habe ich eine Einstellung zum Deaktivieren des Caching hinzugefügt:

Screenshot 2023-10-30 at 2.03.15 PM

5 „Gefällt mir“

Wunderbar, es funktioniert einwandfrei! Sobald ich die Einstellung aktiviert hatte, hat es sich sofort aktualisiert. Dieser Ansatz ist weitaus einfacher als das Leeren des Caches, da ich das Forum immer offen halte, zusammen mit vielen anderen!

Vielen Dank für Ihr Engagement!

2 „Gefällt mir“

Gibt es eine Möglichkeit, den Zeitraum so einzustellen, dass er Statistiken für „alle Zeiten“ anzeigt?

Außerdem wäre es großartig, wenn ich die Gesamtzahl der „Stimmen“ anzeigen könnte, wie sie von dieser Komponente berechnet werden: Topic Voting | Discourse - Civilized Discussion

Die Komponente ruft Statistiken von /about.json ab. Ich schätze, „all time“ könnte recht einfach hinzugefügt werden, da es ebenfalls ein verfügbarer Wert ist.

Wenn Sie jedoch andere Statistiken anzeigen möchten, müssten Sie die Komponente forken und anpassen, damit sie diese Werte von den entsprechenden Speicherorten abruft.

2 „Gefällt mir“

Ich kann dies also manuell in den Einstellungen JSON aktualisieren, da es nicht im Dropdown-Menü aufgeführt ist?

Nein, wenn Sie einen Eintrag zu manual_value hinzufügen, wird der nachgeschlagene Wert einfach durch einen statischen Wert ersetzt. Vielleicht würde die Benennung dieses Feldes static_value dies besser vermitteln?

Sie können die Gesamtzahl erhalten, indem Sie den Zeitraum-Selektor für die Gesamtdauer zum Dropdown hinzufügen:

Es ist nur eine einfache Änderung in der Einstellungsdatei der Komponente. Ich habe hier einen Branch mit dieser Änderung gepusht: GitHub - nolosb/discourse-stat-banner at count. Für einen PR müsste jedoch wahrscheinlich noch eine Logik hinzugefügt werden, um diese Variable im Dropdown umzubenennen?

1 „Gefällt mir“

Unglaublich, danke, dass Sie das hinzugefügt haben!

2 „Gefällt mir“

Gibt es eine Möglichkeit, es auf eine bestimmte Kategorie zu beschränken? Ich habe es im Bereich über der Überschrift versucht und wollte es zumindest mit CSS auf eine bestimmte Kategorie beschränken, aber dann wird es nirgendwo angezeigt.

1 „Gefällt mir“

Wenn Sie die Theme-Einstellung show_on auf everywhere ändern, können Sie mit diesem CSS die Anzeige in einer einzelnen Kategorie ermöglichen (ersetzen Sie examplecategory durch den entsprechenden Kategorie-Slug)

.stat-banner__wrapper {
  display: none;
}

body.category-examplecategory {
  .stat-banner__wrapper {
    display: block;
  }
}
1 „Gefällt mir“