Nach der Installation und dem Hinzufügen zum aktiven Theme ermöglicht diese Theme-Komponente die Steuerung der „Startseite". Diese kann von den Standardseiten, die Discourse standardmäßig erlaubt, abweichen. Zudem können verschiedene Gruppen unterschiedliche „Startseiten" haben (z. B. wenn Gruppenmitglieder nur oder hauptsächlich an einer bestimmten Kategorie interessiert sind). Dies gilt für alle Benutzer, anonyme (nicht eingeloggte) Benutzer, mobile Benutzer oder gemäß der primären Gruppe eines Benutzers. Ursprünglich entwickelt von @pfaffman. Siehe User-specific Discourse home page.
Anwendungsfälle:
Sie möchten etwas anderes als die „normale" Startseite.
Sie möchten eine andere Startseite für anonyme Benutzer.
Sie möchten eine andere Startseite für mobile Benutzer.
Sie haben eine Gruppe von Nutzern, die nur an einem kleinen Ausschnitt Ihrer Instanz interessiert sind. Diese möchten nur ihre spezifische Kategorie sehen.
Temporäre Umleitung einer Gruppe Ihrer Nutzer zu einer besonderen Veranstaltung oder Ähnlichem.
Unterschiedliche Landingpages für verschiedene Gruppen haben.
Einstellungen
Benutzerdefinierte Standard-Startseite
Ermöglicht das Festlegen einer globalen benutzerdefinierten Startseite.
Anon-Seite
Dies ermöglicht die Verwendung einer bestimmten Seite für Benutzer, die nicht in Ihre Site eingeloggt sind. Dies überschreibt die oben genannte globale Einstellung.
Mobile Startseite
Wie unter Force Mobile Homepage beschrieben, ermöglicht dies die Festlegung einer anderen Startseite für mobile Benutzer. Dies überschreibt die oben gewählten Optionen.
Gruppen-Seitenzuordnung
Dies ermöglicht mehrere Einträge. Jeder Eintrag sollte im Format gruppen_name:pfad sein, wobei gruppen_name der Gruppen-Slug (nicht der Gruppen-Vollständiger Name) ist und pfad die gewünschte Startseite (z. B. „/c/great-category/4") ist.
Stellen Sie sicher, dass die Zielbenutzer die angegebene Gruppe als ihre primäre Gruppe festgelegt haben, und Sie sind fertig. Wenn die Theme-Einstellung oder die primäre Gruppe des Benutzers geändert wird, ist ein Neuladen erforderlich, damit die Änderung wirksam wird.
Benutzer mit einer angegebenen Gruppe als primär können Ihre „normale" Startseite nicht erreichen, es sei denn, Sie stellen sicher, dass sie dies tun können (z. B. über die native Seitenleiste).
Bekanntes Problem – auf relative URLs beschränkt
Und das schließt leider Page Publishing nicht ein. Sie können dies jedoch umgehen, indem Sie einen Permalink erstellen, der zur externen Site weiterleitet, und auf diesen Permalink verweisen.
@pfaffman hat dies mit einem Permalink unter /go-google getestet, der zu https://google.com weiterleitet, und etwas wie gruppen-name:/go-google.
Sie erstellen Permalinks über die Admin-Einstellungen unter /admin/customize/permalinks.
Hallo!! Das ist großartig!!
Vielen Dank, das ist tatsächlich wichtig für meinen Anwendungsfall (Anwendungsfall 1).
Ich muss fragen, was meinen Sie mit „Die Benutzer mit einer bestimmten Gruppe als primär können Ihre ‚normale‘ Homepage nicht erreichen“ mit „aktiv einen Weg dafür bereitstellen“?
Außerdem wäre es im Einklang mit diesem Konzept auch nützlich, auf der Homepage eine bestimmte Reihenfolge der Kategorien anzuzeigen, je nachdem, zu welcher Gruppe der Benutzer gehört. Zum Beispiel, um ihre Kategorie oben anzuzeigen und alle anderen darunter. Glauben Sie, dass das möglich ist? (falls nicht schon?).
Das bedeutet, dass jede Homepage, die Sie in den Website-Einstellungen festlegen, überschrieben wird. Wenn Sie also möchten, dass Benutzer dorthin gelangen können, müssen Sie sicherstellen, dass es einen Link gibt, um dorthin zu gelangen … Irgendwie.
Ich kann mir nicht vorstellen, wie das funktionieren würde (vielleicht habe ich eine schlechte Vorstellungskraft ). Der Anwendungsfall, der mir einfällt, ist, dass Benutzer eine andere Kategorie als Startseite haben, wenn sie einer Gruppe angehören. Wie eine Automobil-Website, auf der Sie die Ford-Gruppe als Ihre Homepage auswählen können.
Wenn Sie unterschiedliche Dinge für verschiedene Gruppen verfügbar haben möchten, würde ich das meiner Meinung nach tun, indem ich Standard-stummgeschaltete Kategorien habe.
Hallo Jay!
Vielen Dank für deine Antwort
Nehmen wir an, ich möchte verschiedene Kategorien je nachdem, zu welcher Gruppe ein Benutzer gehört, oben “angeheftet” haben. Ich meine, jeder verschiedene Benutzer würde eine andere “angeheftete” Kategorie sehen. Ich möchte die anderen Kategorien nicht vor dem Benutzer verbergen, sondern nur diejenige, die er am häufigsten verwenden wird, direkt von der Homepage aus (wenn möglich!) leicht sichtbar und sofort verfügbar machen.
(Natürlich “fordere” ich hier nichts, ich frage nur, ob es mit den verfügbaren Einstellungen/Komponenten möglich ist)
In meinem Fall habe ich die Kategorie des Kunden meines Werbetreibenden als Homepage mit diesem TC eingerichtet, aber sie fanden es nur verwirrend und baten mich, es wieder zu entfernen. Daher denke ich, dass der Showcase-Kategorien-TC mit einer solchen Modifikation die perfekte Lösung wäre.
Hallo @jrgong!
Vielen Dank, dass Sie mich auf dieses Thema aufmerksam gemacht haben! Und ja! Das wäre genau perfekt! Ich ziehe dorthin, um die Idee zu unterstützen
Nochmals vielen Dank!
Ich habe gerade ein Update eingereicht, das sich mit dem neuen preLoadStore befasst, der dazu führte, dass beim ersten Laden falsche Themen angezeigt wurden.
Sind Sie sicher, dass dies die aktuellste Version auf GitHub ist? (Nicht Ihre Fork oder eine statische/lokale Version?) Ich habe gerade ein Upgrade durchgeführt und es funktioniert. Wenn ich mir den Code ansehe, wird api nur an einer Stelle verwendet:
const user = api.getCurrentUser();
und das ist innerhalb eines Blocks, der api definiert.
Das ist seltsam. Ich habe es trotzdem aus dieser Instanz entfernt, da es überflüssig war. Und es scheint nach dem Update in einer anderen Instanz einwandfrei zu funktionieren. Seltsam. Danke, dass du es dir angesehen hast!
Irgendeine Idee, wie es mit der Seitenleiste interagiert? Ich muss es ausprobieren, da es so aussieht, als ob das Problem, dass ein Pfad zurück zur Foren-Startseite benötigt wird, dadurch gelöst wurde.
Ich habe es nicht getestet, aber ich kann mir nicht vorstellen, warum nicht. Bitte beachten Sie, dass ich vielleicht keine sehr gute Vorstellungskraft habe.
Ja, das gleiche Theme funktioniert, wenn ich angemeldet bin, nur nicht für anonyme Benutzer. Und nur um sicherzugehen: Muss die relative URL mit einem / beginnen? Ich frage, weil Jammy tag/featured/ verwendet hat, während ich /c/artwork/8 verwende.
Ich habe das zum Laufen gebracht – es war ein Fehler meinerseits.
Perfekt, danke! Es wird mir aber noch kein Update angezeigt – sollte es das?
Es ist in meiner Fork. Du kannst sie gerne direkt von hier installieren, bis Jay sie zusammenführt:
Funktioniert mit oder ohne /
ÜBRIGENS
Die Art und Weise, wie du es konfiguriert hast, wird nicht funktionieren, da Benutzer keine der Trust_Level-Gruppen als ihre primäre Gruppe haben können.
Wenn ich darüber nachdenke - wird es dem Standard-Theme für die Seite hinzugefügt (das Anonyme verwenden)? Ich wurde schon einmal dadurch getriggert, dass ich eine Komponente zu meinem ‘dev’-Theme hinzugefügt habe, aber nicht zum Standard-Theme.