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
Bonjour !! C’est génial !!
Merci beaucoup, c’est en fait important pour mon cas (cas d’utilisation 1).
Je dois demander, à propos de « Les utilisateurs ayant un groupe spécifié comme principal ne pourront pas accéder à votre page d’accueil ‘normale’ », qu’entendez-vous par « fournir activement un moyen pour eux de le faire » ?
De plus, dans la lignée de ce concept, il serait également utile d’afficher sur la page d’accueil un ordre spécifique des catégories en fonction du groupe auquel l’utilisateur appartient. Par exemple, afficher leur catégorie en haut, et toutes les autres en dessous. Pensez-vous que ce soit possible ? (si ce n’est pas déjà le cas ?).
Cela signifie que quelle que soit la page d’accueil que vous définissez dans les paramètres du site, elle sera remplacée. Donc, si vous voulez que les utilisateurs puissent y accéder, vous devrez vous assurer qu’il y a un lien pour y accéder… D’une manière ou d’une autre.
Je n’arrive pas à imaginer comment cela fonctionnerait (peut-être que j’ai une mauvaise imagination ). Le cas d’utilisation auquel je pense permet aux utilisateurs d’avoir une catégorie différente définie comme page d’accueil s’ils font partie d’un groupe. Comme un site automobile pourrait vous permettre de choisir le groupe Ford comme page d’accueil.
Si vous souhaitez que différents éléments soient disponibles pour différents groupes, je pense que vous le feriez en ayant des catégories muettes par défaut.
Salut Jay !
Merci pour ta réponse
Disons que je voudrais avoir différentes catégories « épinglées » en haut, en fonction du groupe auquel appartient un utilisateur. Je veux dire, chaque utilisateur différent verrait une catégorie « épinglée » différente. Je ne veux pas cacher les autres catégories à l’utilisateur, juste rendre facilement visible et facilement accessible celle qu’il utilisera le plus, directement depuis la page d’accueil (si possible !).
(Bien sûr, je ne « demande » rien ici, je demande juste si c’est possible avec les paramètres/composants disponibles)
Dans mon cas, j’ai configuré la catégorie client de mon annonceur comme page d’accueil avec ce TC, mais ils l’ont trouvé déroutant et m’ont demandé de le supprimer à nouveau. Par conséquent, je pense que le TC de catégories mises en avant avec une telle modification serait la solution parfaite.
Êtes-vous sûr que c’est la version la plus récente sur GitHub ? (Pas votre fork ou une version statique/locale ?) Je viens de lancer une mise à niveau et cela fonctionne. En regardant le code, api n’est utilisé qu’à un seul endroit :
C’est étrange. Je l’ai de toute façon retiré de cette instance car il était excédentaire. Et il semble que cela fonctionne bien après la mise à jour dans une autre instance. Bizarre. Merci d’avoir jeté un œil !
Avez-vous une idée de la façon dont il interagit avec la barre latérale ? Je dois l’essayer car il semble que le problème de besoin d’un chemin de retour vers la page d’accueil du forum ait été résolu par celui-ci.
Oui, le même thème fonctionne bien quand je suis connecté, mais pas pour les anonymes. Et juste pour être sûr : l’URL relative doit commencer par un / ? Je demande car Jammy a utilisé tag/featured/ tandis que j’utilise /c/artwork/8.
J’ai réussi à faire fonctionner cela - c’était une erreur de ma part.
Parfait, merci ! Il ne m’apparaît pas encore comme une mise à jour - est-ce que ce devrait être le cas ?
Il est dans mon fork. Vous pouvez l’installer directement vous-même à partir d’ici si vous le souhaitez en attendant que Jay le fusionne :
Fonctionne avec ou sans /
AU FAIT
La façon dont vous l’avez configuré ne fonctionnera pas car les utilisateurs ne peuvent pas avoir de groupes de niveau de confiance comme groupe principal.
En y réfléchissant - est-il ajouté au thème par défaut du site (que les anonymes utilisent) ? J’ai été gêné par l’ajout d’un composant à mon thème ‘dev’ mais pas au thème par défaut.