When installed and added to the active theme, this theme component enables you to control the ‘homepage’, allowing it to be different from the set of pages Discourse allows by default, as well as having different groups have different “homepages” (e.g., group members care only or mostly about a particular category). This can be for all users, anon (non-logged in), mobile users, or according to a user’s primary group. Initially developed by @pfaffman. See User-specific Discourse home page.
Use-cases:
You want something other than the ‘normal’ homepage
You want a different homepage for Anonymous users
You want a different homepage for Mobile users
You have a group of folk only interested in using a small slice of your instance. They want to only see their specific category.
Temporarily redirect a group of your punters to a special event or the like.
Have different landing pages for different groups.
Settings
custom default homepage
Allows you to set a global custom homepage.
anon page
This enables you to use a specified page for those who aren’t logged into your site. Over-rides the global one above.
mobile homepage
As per Force Mobile Homepage this allows you to set a different homepage for mobile users. This will override the options chosen above.
group page map
This allows for multiple entries. Each entry should be of the format group_name:path , where group_name is the group slug (not the group Full Name ) and the path is the desired home page (e.g., “/c/great-category/4”).
Ensure that the target users have the specified group denoted as their primary group and you are away. If the theme setting or the user primary group is changed, a reload will be required to have the change take effect.
The users with a specified group as primary will not be able to reach your ‘normal’ homepage unless you ensure that there is a way for them to do that (such as the native sidebar functionality)
Known Issue - limited to relative URLs
And that doesn’t include Page Publishing, unfortunately. However, you can workaround this by creating a permalink that will redirect to the external site and point to that permalink.
@pfaffman tested this with a permalink at /go-google that redirects to https://google.com and something like group-name:/go-google
you create Permalinks via the admin settings /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.