| Résumé | Créer des menus latéraux personnalisés pour des groupes sélectionnés | |
| Aperçu | Rejoignez ce groupe de créateurs de thèmes puis prévisualisez ici | |
| Dépôt | \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e | |
| Guide d’installation | Comment installer un thème ou un composant de thème | |
| Nouveau dans les thèmes Discourse ? | Guide du débutant pour l’utilisation des thèmes Discourse |
Installer ce composant de thème
Vue d’ensemble
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.
Fonctionnalités clés :
- Visibilité du menu basée sur le groupe - Les sections de menu n’apparaissent dans la barre latérale que pour les utilisateurs autorisés
- Configuration basée sur des objets - Interface utilisateur de paramètres facile à utiliser pour créer des menus
- Sections multiples - Créez un nombre illimité de sections de menu pour différents groupes (dans la limite du raisonnable)
- Lien de modification rapide pour l’administrateur - L’icône de crayon dans les en-têtes de menu relie directement les administrateurs aux paramètres du composant
Quelques 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
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 section
| Propriété | Description |
|---|---|
| Titre du menu | Titre affiché comme en-tête de section de la barre latérale |
| Groupes autorisés | Groupes autorisés à voir 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 de 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) |
Installation et configuration
- Installez le composant de thème comme indiqué sur Installing a theme or theme component.
- Accédez à l’
Éditeur de paramètres d'objets - Cliquez sur le bouton
+ new_menu_sectionpour configurer la première section de menu personnalisée - Donnez un titre au nouveau menu dans le champ
Titre du menu, puis sélectionnez les groupes auxquels vous souhaitez donner accès. - Cliquez sur
+ new_menu_sectionpour ajouter une autre section, ou Enregistrez les modifications.
Captures d'écran de configuration d'administration avec configuration d'exemple
Nouvelle installation - allez à l’ Éditeur de paramètres d'objets.
Scénario d’exemple avec 2 menus personnalisés et 3 utilisateurs, dont un administrateur :
@Catraaime les chats et est membre du groupepink, qui aura accès auMenu Chat@HelloKittyaime les chiens et est membre du groupepurple, qui aura accès auMenu Chien@Lillyest membre depurpleparce 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 auMenu Chatparce que les chats ont besoin de plus de surveillance![]()
Créez un nouveau menu personnalisé - pour notre exemple, créez Menu Chat et ajoutez les groupes autorisés à y avoir accès - pink et admins. Cliquez ensuite 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 uniquement l’accès au groupe purple et configurez les liens :
Captures d'écran de l'accès au menu latéral résultant
L’utilisateur @Catra a le menu Chat ! ![]()
L’utilisateur @HelloKitty a le menu Chien ! ![]()
L’utilisatrice administratrice @Lilly a les deux menus et peut les modifier ! ![]()
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
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 ! De plus, les administrateurs qui appartiennent aux groupes autorisés d’un menu verront une icône de crayon dans l’en-tête de section qui mène aux paramètres du composant.
Configuration des groupes
- Le groupe
everyonen’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 appartenant à 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 uniquement un contrôle d’accès au niveau de l’interface utilisateur. Il contrôle la visibilité du menu, pas l’accès aux ressources.
Expérience de navigation propre et organisée
Réduction de l’encombrement de l’interface utilisateur pour les utilisateurs non autorisés
Portails professionnels spécifiques aux groupes
Ceci n’est pas une fonctionnalité de sécurité. N’empêche pas l’accès aux sources des liens - ce composant contrôle uniquement ce qui est rendu dans la barre latérale, pas qui peut accéder aux ressources réelles.
Fiez-vous toujours au système de permission intégré de Discourse pour sécuriser les ressources réelles :
- Configurez correctement les permissions de catégorie
- Définissez des restrictions de visibilité des sujets
- Utilisez des contrôles d’accès basés sur les groupes pour le contenu
- Assurez-vous que les ressources privées nécessitent une authentification
Meilleure pratique pour les administrateurs :
Configurez séparément les permissions de sécurité des catégories liées et l’appartenance aux groupes - par exemple : un lien de menu vers une catégorie privée doit avoir les permissions de cette catégorie correctement configurées. Les administrateurs sont responsables de s’assurer que les liens vers des ressources externes sont correctement autorisés pour les groupes sélectionnés.
Ce fut un projet collaboratif avec @Moin - son apport, son inspiration et ses commentaires ont été inestimables.







