| Résumé | Créer des menus de barre latérale personnalisés pour des groupes sélectionnés | |
| Aperçu | Rejoignez ce groupe Theme Creator puis visualisez l’aperçu ici | |
| Dépôt | https://github.com/Lillinator/discourse-group-sidebar-menus | |
| Guide d’installation | Comment installer un thème ou un composant de thème |
Installer ce composant de thème
Vue d’ensemble
Ce composant de thème Discourse permet aux administrateurs de forum de créer des menus de barre latérale personnalisés accessibles uniquement aux membres de groupes sélectionnés.
Fonctionnalités clés :
- Visibilité des menus par groupe - Les sections de menu ne sont rendues dans la barre latérale que pour les utilisateurs autorisés
- Configuration basée sur des objets - Interface 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 les administrateurs - L’icône crayon dans les en-têtes de menu dirige les administrateurs directement vers les paramètres du composant
Quelques cas d’utilisation
- Ressources et liens rapides réservés au personnel
- Raccourcis pour les modérateurs de catégories
- Portails personnalisés pour les groupes (équipes de projet, groupes d’étude, clubs de lecture, membres VIP)
- Liens vers les ressources du site principal ou des sites partenaires
Paramètres
Sections de menu (menu_sections)
Ouvre l’éditeur de paramètres d’objets pour configurer les sections de menu personnalisées par groupe.
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 à 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 des liens
| Propriété | Description |
|---|---|
| Icône | Nom de l’icône FontAwesome (par exemple, circle-info, star, user-group). Il peut être nécessaire de l’ajouter à Admin > Tous les paramètres du site > sous-ensemble d'icônes svg |
| Texte | Libellé d’affichage du 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 conformément à 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 qui doivent y avoir accès. - Cliquez sur
+ new_menu_sectionpour ajouter une autre section, ou Enregistrez les modifications.
Captures d'écran de la configuration administrateur avec exemple de mise en place
Installation fraîche - accédez à l’éditeur de paramètres d'objets.
Scénario exemple avec 2 menus personnalisés et 3 utilisateurs, dont un administrateur :
@Catraadore les chats et est membre du groupepink(rose), qui aura accès auMenu Chat@HelloKittyaime les chiens et est membre du groupepurple(violet), qui aura accès auMenu Chien@Lillyest membre du groupepurplecar elle possède un chien et les chiens sont meilleurs. Cependant, elle est également administratrice du forum, et les administrateurs auront accès auMenu Chatcar 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 accéder - pink (rose) et admins (administrateurs). Cliquez ensuite sur le bouton + menu_link pour configurer les liens du nouveau menu.
Ajoutez quelques liens de 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, accordez l’accès uniquement au groupe purple (violet) et configurez les liens :
Captures d'écran de l'accès au menu de la barre latérale résultant
L’utilisateur @Catra a le menu Chat ! ![]()
L’utilisateur @HelloKitty a le menu Chien ! ![]()
L’utilisateur administrateur @Lilly a les deux menus et peut les modifier ! ![]()
Exemple de configuration
Titre du menu : "Trucs de chats"
Groupes autorisés : team-cat
Liens :
- Icône : link
Texte : Vidéos et photos de chats
URL : /t/cat-videos-and-photos/123
- Icône : magnifying-glass
Texte : Wiki des chats
URL : https://fr.wikipedia.org/wiki/Chat
Notes importantes
Accès administrateur
Les administrateurs doivent s’ajouter eux-mêmes 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 appartenant aux groupes autorisés d’un menu verront une icône crayon dans l’en-tête de la section qui mène aux paramètres du composant.
Configuration des groupes
- Le groupe
everyone(tout le monde) n’est pas pris en charge - Utilisez l’interface native du pied de page de la barre latérale 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 davantage, créez des sections dupliquées avec des attributions de groupes différentes.
- Les utilisateurs appartenant à plusieurs groupes verront toutes les sections de menu auxquelles ils ont accès.
Tests 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 la confusion à mesure que la complexité augmente ; une matrice d’accès ou une documentation similaire est recommandée pour les grands forums 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, et non l’accès aux ressources - ce composant ne contrôle que ce qui est rendu dans la barre latérale, et non qui peut accéder aux ressources réelles.
Fiez-vous toujours au système de permissions intégré de Discourse pour sécuriser les ressources réelles :
- Configurez correctement les permissions de catégorie
- Définissez les restrictions de visibilité des sujets
- Utilisez les contrôles d’accès basés sur les groupes pour le contenu
- Assurez-vous que les ressources privées nécessitent une authentification
Bonnes pratiques pour les administrateurs :
Configurez les permissions de sécurité des catégories liées et l’appartenance aux groupes séparément - 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 les ressources externes sont correctement autorisés pour les groupes sélectionnés.
C’était un projet collaboratif avec @Moin - ses contributions, son inspiration et ses retours ont été inestimables.
Découvrez mes autres créations Discourse








