Page d'accueil personnalisée pour les groupes

Aperçu

Une fois installé et ajouté au thème actif, ce composant de thème vous permet de contrôler la « page d’accueil », en permettant qu’elle soit différente de l’ensemble de pages que Discourse autorise par défaut, ainsi que d’avoir différents groupes ayant des « pages d’accueil » différentes (par exemple, les membres d’un groupe ne se soucient que, ou principalement, d’une catégorie particulière). Cela peut s’appliquer à tous les utilisateurs, aux anonymes (non connectés), aux utilisateurs mobiles, ou selon le groupe principal d’un utilisateur. Développé initialement par @pfaffman. Voir User-specific Discourse home page.

Cas d’utilisation :

  1. Vous souhaitez quelque chose d’autre que la page d’accueil « normale ».
  2. Vous souhaitez une page d’accueil différente pour les utilisateurs anonymes.
  3. Vous souhaitez une page d’accueil différente pour les utilisateurs mobiles.
  4. Vous avez un groupe de personnes intéressées uniquement par une petite partie de votre instance. Ils souhaitent ne voir que leur catégorie spécifique.
  5. Rediriger temporairement un groupe de vos utilisateurs vers un événement spécial ou similaire.
  6. Avoir différentes pages de destination pour différents groupes.

Paramètres

Page d’accueil personnalisée par défaut

Permet de définir une page d’accueil personnalisée globale.

Page pour anonymes

Cela vous permet d’utiliser une page spécifiée pour les personnes qui ne sont pas connectées à votre site. Remplace celle définie globalement ci-dessus.

Page d’accueil mobile

Comme décrit dans Force Mobile Homepage, cela vous permet de définir une page d’accueil différente pour les utilisateurs mobiles. Cela remplacera les options choisies ci-dessus.

Mappage des pages par groupe

Cela permet plusieurs entrées. Chaque entrée doit être au format nom_du_groupe:chemin, où nom_du_groupe est l’identifiant (slug) du groupe (et non le Nom complet du groupe) et chemin est la page d’accueil souhaitée (par exemple, “/c/grande-categorie/4”).

Assurez-vous que les utilisateurs cibles ont le groupe spécifié défini comme leur groupe principal et tout fonctionnera. Si le paramètre du thème ou le groupe principal de l’utilisateur est modifié, un rechargement sera nécessaire pour que le changement prenne effet.

:warning: Les utilisateurs ayant un groupe spécifié comme principal ne pourront pas accéder à votre page d’accueil « normale » sauf si vous vous assurez qu’il existe un moyen pour eux de le faire (comme la fonctionnalité native de la barre latérale).

Problème connu - limité aux URL relatives

Et cela n’inclut malheureusement pas Page Publishing. Cependant, vous pouvez contourner ce problème en créant un lien permanent qui redirigera vers le site externe et en pointant vers ce lien permanent.

  • @pfaffman a testé cela avec un lien permanent à /go-google qui redirige vers https://google.com et quelque chose comme nom-du-groupe:/go-google.
  • Vous créez des liens permanents via les paramètres d’administration /admin/customize/permalinks.
42 « J'aime »
Best way to make the /news directory the home page?
Microcommunities / clubs
Multiple communities on discourse?
How to set the home page to be an AI bot? ex: ask.discourse.com
Filter a single discourse instance by the domain it is accessed by
FKB Pro - Social theme
Default homepage that the user selects
Page for not-logged in users with a single topic displayed
How to redirect when login
How can I make the home page similar to this one?
Show Categories on main page for new visitors and Recent for logged in members
2024: The Year in Review
Streamlining forum organization with third level sub-categories
Can Discourse Support a Shared Forum for Two Websites with Distinct Styling?
How to set the home page to be an AI bot? ex: ask.discourse.com
How to set the home page to be an AI bot? ex: ask.discourse.com
How to replace/override homepage template
Can Discourse Support a Shared Forum for Two Websites with Distinct Styling?
Help on redirect user on gated content
Discourse Category Home :house:
Allow invites to direct to a Category
Latest activity list as for replies
Redirect the home page of the forum
Clicking on a category doesn't filter the right topics
Make a category page default (main) page
Change homepage to tag?
Redirect user to specific page after login
Creating sub-communities in a discourse server
Make Chat Tab the default view on Mobile
Homepage plugin for displaying recent topics, latest members, popular threads, and similar elements
Created Topic Sort
Different homepage style for logged in vs logged out users
Force guests to a specific page?
Changing the default homepage to a specific category
Access to particular private categories only

Ceci est un changeur de groupe de jeu ! :crazy_face:

Bon travail ! TC plutôt puissant…

Nous avons quelques ajustements à l’étape de la PR, abordant ceci :

Et ajoutons également le contrôle de la page d’accueil mobile si vous souhaitez qu’elle soit différente (conformément à Force Mobile Homepage).

Cela augmente considérablement sa puissance, j’espère donc que cela vous plaira.

6 « J'aime »

Bonjour !! C’est génial !! :slight_smile:
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 :man_shrugging:). 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.

1 « J'aime »

Salut Jay !
Merci pour ta réponse :slight_smile:
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)

1 « J'aime »

Salut @lisandro_iaffar

J’ai eu exactement le même cas d’utilisation que j’ai posté ici : Showcased Categories - #18 by jrgong

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.

3 « J'aime »

Salut @jrgong ! :slight_smile:
Merci beaucoup de m’avoir dirigé vers ce sujet ! Et oui ! Ce serait parfait ! Je m’y rallie pour soutenir l’idée :muscle:
Merci encore !

Je viens de soumettre une mise à jour qui traite du préchargement du magasin, qui provoquait l’affichage des mauvais sujets au premier chargement.

5 « J'aime »

Salut Jay, j’ai remarqué une erreur après ma dernière mise à jour de Discourse :

1 « J'aime »

Ê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 :

        const user = api.getCurrentUser();

et c’est à l’intérieur d’un bloc qui définit api.

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.

1 « J'aime »

Je n’ai pas testé, mais je ne vois pas pourquoi pas. Veuillez noter que je n’ai peut-être pas une très bonne imagination.

1 « J'aime »

Je teste cela maintenant, mais j’ai deux commentaires :

  1. Le chemin anonyme ne fonctionne pas pour nous - nécessite-t-il le même format que la carte de groupe ?
  2. Ce serait formidable s’il existait un paramètre par défaut qui s’appliquerait à tout le monde.

1 « J'aime »

Hmm. Je pensais l’avoir testé sur le commit de la liste.

En effet. Je suppose que les personnes qui en avaient besoin n’avaient pas besoin de passer à une page d’accueil non prise en charge.

J’essaierai d’y jeter un œil demain, bien que ce soit peut-être la semaine prochaine.

1 « J'aime »

Pour information, cela a fonctionné pour moi lorsque je l’ai utilisé hier (j’avais tag/featured/ dedans)

Cela fonctionne bien pour moi. Il a seulement besoin du chemin relatif.

Mais j’ai eu le même problème que vous jusqu’à ce que j’aie réellement ajouté le composant au Thème ! L’avez-vous fait ?

Oui, je pensais que cela devait être ajouté. Le voici :

2 « J'aime »

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 ?

1 « J'aime »

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.

2 « J'aime »

Ouais, j’ai trouvé l’erreur - c’était lié à ça :facepalm:

2 « J'aime »