Menus latéraux des groupes Discourse

:information_source: Résumé Créez des menus latéraux personnalisés avec un accès restreint à des groupes sélectionnés
:eyeglasses: Aperçu Rejoignez ce groupe de créateurs de thèmes puis prévisualisez ici
:hammer_and_wrench: Dépôt \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e
:question: Guide d’installation Comment installer un thème ou un composant de thème
:open_book: Nouveau dans les thèmes Discourse ? Guide du débutant pour utiliser les thèmes Discourse

Installer ce composant de thème

:woman_technologist:t2: Aperçu

Ce composant de thème Discourse donne aux administrateurs du forum la possibilité de créer des menus latéraux personnalisés qui ne sont accessibles qu’aux membres de groupes sélectionnés.

Caractéristiques principales :

  • Contrôle d’accès basé sur les groupes - Les sections de menu ne s’affichent que pour les utilisateurs autorisés
  • Configuration de l’interface d’administration - Tous les paramètres pour créer des sections de menu de groupe se trouvent dans l’interface d’administration du composant de thème
  • Sections multiples - Créez un nombre illimité de sections de menu pour différents groupes (dans la limite du raisonnable)
  • Sécurité côté client - Les utilisateurs non autorisés ne peuvent voir les sections de menu dans le DOM, l’inspecteur web ou le mode sans échec
  • Pas de pollution globale - Ne nécessite pas la création de sections de barre latérale globales
  • Lien d’édition rapide pour l’administrateur - L’icône de crayon dans les en-têtes de menu lie directement les administrateurs aux paramètres du composant

:briefcase: Cas d’utilisation

  • Ressources et liens rapides réservés au personnel
  • Raccourcis pour les modérateurs de catégorie
  • Portails de groupe personnalisés (équipes de projet, groupes d’étude, clubs de lecture, membres VIP)
  • Liens vers des ressources de sites web parents ou partenaires

:gear: Paramètres

Sections de menu (menu_sections)

Ouvre l’éditeur de paramètres d’objet pour configurer des sections de menu de groupe personnalisées.

Propriétés de la section

Propriété Description
Titre du menu Titre affiché comme en-tête de la section de la barre latérale
Groupes autorisés Groupes autorisés à visualiser cette section de menu (max : 20 groupes par section)
Liens du menu Collection de liens à afficher dans cette section (max : 20 liens par section)

Propriétés du lien

Propriété Description
Icône Nom de l’icône FontAwesome (ex. : circle-info, star, user-group). Peut nécessiter d’être ajouté à Admin > Tous les paramètres du site > sous-ensemble d'icônes svg
Texte Libellé d’affichage pour le lien
URL Destination du lien - prend en charge les chemins relatifs (/faq, /my/preferences) et les URL absolues (https://example.com)

:wrench: Installation et configuration

  1. Installez le composant de thème conformément à Installing a theme or theme component.
  2. Accédez à l’ Éditeur de paramètres des objets
  3. Cliquez sur le bouton + new_menu_section pour configurer la première section de menu personnalisée
  4. Donnez un titre au nouveau menu dans le champ Titre du menu, puis sélectionnez les groupes qui doivent y avoir accès.
  5. Cliquez sur + new_menu_section pour ajouter une autre section, ou Enregistrez les modifications.
Captures d'écran de la configuration d'administration avec configuration d'exemple

Nouvelle installation - allez à l’ Éditeur de paramètres des objets.

Scénario d’exemple avec 2 menus personnalisés et 3 utilisateurs, dont un administrateur :

  • @Catra aime les chats et est membre du groupe pink, qui aura accès au Menu Chat :grinning_cat:
  • @HelloKitty aime les chiens et est membre du groupe purple, qui aura accès au Menu Chien :dog_face:
  • @Lilly est membre de purple parce qu’elle possède un chien et que les chiens sont meilleurs. Cependant, elle est également administratrice du forum, et les administrateurs auront accès au Menu Chat parce que les chats ont besoin de plus de surveillance :dog_face: :cat_with_wry_smile:

Créez un nouveau menu personnalisé - pour notre exemple, créez le Menu Chat et ajoutez les groupes autorisés à y avoir accès - pink et admins. Ensuite, cliquez sur le bouton + menu_link pour configurer les liens pour le nouveau menu.

Ajoutez les liens du menu - 1. Nom de l’icône Fontawesome, 2. texte à afficher pour le lien, et 3. l’URL, relative ou absolue. Cliquez sur le bouton + menu_link pour ajouter un autre lien à ce menu.

Créez une autre section de menu personnalisée appelée Menu Chien, donnez accès uniquement au groupe purple et configurez les liens :

Captures d'écran du menu latéral résultant

L’utilisateur @Catra a le menu Chat ! :grinning_cat:

L’utilisateur @HelloKitty a le menu Chien ! :dog_face:

L’utilisatrice admin @Lilly a les deux menus et peut les modifier ! :smiling_cat_with_heart_eyes:

Exemple de configuration

Titre du menu : "Ressources du personnel"
Groupes autorisés : staff
Liens :
  - Icône : wrench
    Texte : Guide de modération
    URL : /t/moderation-guide/123
  - Icône : chart-line
    Texte : Tableau de bord analytique
    URL : /admin/dashboard

:light_bulb: Notes importantes

Accès administrateur

  • Les administrateurs doivent s’ajouter aux groupes pour voir les menus configurés pour ces groupes. Le statut d’administrateur seul n’accorde pas l’accès à tous les menus personnalisés. C’est intentionnel !
  • Les administrateurs qui appartiennent aux groupes autorisés d’un menu verront une icône de crayon dans l’en-tête de la section qui renvoie aux paramètres du composant.

Configuration des groupes

  • Le groupe everyone n’est pas pris en charge - Utilisez l’interface utilisateur du pied de page de la barre latérale native pour créer des menus personnalisés globaux pour tous les utilisateurs, y compris les visiteurs anonymes.
  • Maximum de 20 groupes par section de menu. Si vous en avez besoin de plus, créez des sections dupliquées avec des attributions de groupe différentes.
  • Les utilisateurs membres de plusieurs groupes verront toutes les sections de menu auxquelles ils ont accès.

Test et organisation

  • Utilisez des comptes de test pour vérifier l’accès correct pour différentes combinaisons de groupes.
  • Gardez une trace de vos configurations de menu pour éviter toute confusion à mesure que la complexité augmente ; une matrice d’accès ou une documentation similaire est recommandée pour les forums plus importants avec de nombreux groupes.

Considérations de sécurité

Ce composant fournit un contrôle d’accès au niveau de l’interface utilisateur. Il contrôle l’accès au menu, pas l’accès aux ressources - il ne remplace pas les autorisations de sécurité de catégorie.

Ce que ce composant protège :

  • :white_check_mark: Les sections de menu ne peuvent pas être consultées par des groupes d’utilisateurs non autorisés
  • :white_check_mark: Liens non découvrables via l’inspecteur/la console/le mode sans échec
  • :white_check_mark: Expérience utilisateur propre sans encombrement du menu

Bonnes pratiques pour les administrateurs :

  • Configurez séparément les autorisations de sécurité de toute catégorie liée et l’appartenance au groupe pertinent avant de configurer ce composant - planifiez votre configuration.
  • Les administrateurs sont responsables de s’assurer que les liens vers des ressources externes sont correctement autorisés pour les groupes sélectionnés.

Autres notes :pen:

  • Ce composant est compatible avec Discourse Sidebar Menu Reorder, qui a été utilisé pour placer les deux sections de menu d’exemple en haut de la barre latérale dans les captures d’écran. Utilisez simplement le titre de la section de menu personnalisée au format slug, par exemple : cat-menu.
7 « J'aime »

J’obtiens un 404 sur le dépôt.

EDIT : Tout est rentré dans l’ordre maintenant !

1 « J'aime »

haha, réessayez. J’ai oublié de le rendre public ! :laughing:

4 « J'aime »