| Resumen | Crea menús laterales personalizados para grupos seleccionados | |
| Vista previa | Únete a este grupo de Creador de Temas y luego previsualiza aquí | |
| Repositorio | \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e | |
| Guía de instalación | Cómo instalar un tema o componente de tema | |
| ¿Nuevo en los Temas de Discourse? | Guía para principiantes sobre el uso de Temas de Discourse |
Instalar este componente de tema
Descripción general
Este componente de tema de Discourse brinda a los administradores del foro la capacidad de crear menús laterales personalizados que solo son accesibles para los miembros de grupos seleccionados.
Características principales:
- Visibilidad del menú basada en grupos: las secciones del menú solo aparecen en la barra lateral para los usuarios autorizados
- Configuración basada en objetos: interfaz de usuario de configuración fácil de usar para crear menús
- Múltiples secciones: crea secciones de menú ilimitadas para diferentes grupos (dentro de lo razonable)
- Enlace de edición rápida para administradores: el ícono de lápiz en los encabezados del menú dirige a los administradores directamente a la configuración del componente
Algunos casos de uso
- Recursos y accesos directos solo para el personal
- Accesos directos para moderadores de categorías
- Portales de grupos personalizados (equipos de proyecto, grupos de estudio, clubes de lectura, miembros VIP)
- Enlaces a recursos de sitios web principales o asociados
Configuración
Secciones de menú (menu_sections)
Abre el editor de configuración de objetos para configurar secciones de menú de grupo personalizadas.
Propiedades de la sección
| Propiedad | Descripción |
|---|---|
| Título del menú | Título que se muestra como encabezado de la sección de la barra lateral |
| Grupos permitidos | Grupos autorizados para ver esta sección del menú (máx.: 20 grupos por sección) |
| Enlaces del menú | Colección de enlaces para mostrar en esta sección (máx.: 20 enlaces por sección) |
Propiedades del enlace
| Propiedad | Descripción |
|---|---|
| Icono | Nombre del icono de FontAwesome (ej.: circle-info, star, user-group). Puede que necesite añadirse a Administración > Todos los ajustes del sitio > subconjunto de iconos svg |
| Texto | Etiqueta de visualización para el enlace |
| URL | Destino del enlace: admite rutas relativas (/faq, /my/preferences) y URL absolutas (https://example.com) |
Instalación y configuración
- Instala el componente de tema según Installing a theme or theme component.
- Ve al
Editor de configuración de objetos - Haz clic en el botón
+ new_menu_sectionpara configurar la primera sección de menú personalizada - Asígnale un título al nuevo menú en el campo
Título del menúy luego selecciona los grupos que deseas que tengan acceso a él. - Haz clic en
+ new_menu_sectionpara añadir otra sección, o guarda los cambios.
Capturas de pantalla de configuración de administrador con configuración de ejemplo
Instalación nueva: ve al Editor de configuración de objetos.
Escenario de ejemplo con 2 menús personalizados y 3 usuarios, uno de los cuales es administrador:
@Catraama a los gatos y es miembro del grupopink, que tendrá acceso alMenú de Gatos@HelloKittyle gustan los perros y es miembro del grupopurple, que tendrá acceso alMenú de Perros@Lillyes miembro depurpleporque tiene un perro y los perros son mejores. Sin embargo, también es administradora del foro, y los administradores tendrán acceso alMenú de Gatosporque los gatos necesitan más supervisión![]()
Crea un nuevo menú personalizado: para nuestro ejemplo, crea el Menú de Gatos y añade los grupos permitidos para acceder a él: pink y admins. Luego haz clic en el botón + menu_link para configurar los enlaces del nuevo menú.
Añade los enlaces del menú: 1. Nombre del icono de Fontawesome, 2. texto a mostrar para el enlace, y 3. la URL, relativa o absoluta. Haz clic en el botón + menu_link para añadir otro enlace a este menú.
Crea otra sección de menú personalizada llamada Menú de Perros, dale acceso solo al grupo purple y configura los enlaces:
Capturas de pantalla del menú lateral resultante
¡El usuario @Catra tiene el menú de Gatos! ![]()
¡El usuario @HelloKitty tiene el menú de Perros! ![]()
La usuaria administradora @Lilly tiene ambos menús ¡y puede editarlos! ![]()
Ejemplo de configuración
Título del menú: "Recursos del Personal"
Grupos permitidos: staff
Enlaces:
- Icono: wrench
Texto: Guía de moderación
URL: /t/moderation-guide/123
- Icono: chart-line
Texto: Panel de análisis
URL: /admin/dashboard
Notas importantes
Acceso de administrador
Los administradores deben añadirse a los grupos para ver los menús configurados para esos grupos. ¡El estado de administrador por sí solo no otorga acceso a todos los menús personalizados. Esto es intencional! Además, los administradores que pertenecen a los grupos permitidos de un menú verán un ícono de lápiz en el encabezado de la sección que enlaza con la configuración del componente.
Configuración de grupo
- El grupo
everyoneno es compatible - Utiliza la interfaz de usuario de pie de página de la barra lateral nativa para crear menús personalizados globales para todos los usuarios, incluidos los visitantes anónimos. - Máximo de 20 grupos por sección de menú. Si necesitas más, crea secciones duplicadas con diferentes asignaciones de grupos.
- Los usuarios en varios grupos verán todas las secciones de menú a las que tienen acceso.
Pruebas y organización
Utiliza cuentas de prueba para verificar el acceso correcto para diferentes combinaciones de grupos. Lleva un registro de tus configuraciones de menú para evitar confusiones a medida que crece la complejidad; se recomienda una matriz de acceso o documentación similar para foros más grandes con muchos grupos.
Consideraciones de seguridad
Este componente solo proporciona control de acceso a nivel de interfaz de usuario. Controla la visibilidad del menú, no el acceso a los recursos.
Experiencia de navegación limpia y organizada
Reducción del desorden de la interfaz de usuario para usuarios no autorizados
Portales profesionales específicos para grupos
Esto no es una característica de seguridad. No impide el acceso a las fuentes de los enlaces: este componente solo controla lo que se renderiza en la barra lateral, no quién puede acceder a los recursos reales.
Siempre confía en el sistema de permisos incorporado de Discourse para proteger los recursos reales:
- Configura correctamente los permisos de categoría
- Establece restricciones de visibilidad de temas
- Utiliza controles de acceso basados en grupos para el contenido
- Asegúrate de que los recursos privados requieran autenticación
Mejor práctica para administradores:
Configura los permisos de seguridad de las categorías enlazadas y la pertenencia a grupos por separado; por ejemplo: un enlace de menú a una categoría privada debe tener los permisos de esa categoría configurados correctamente. Los administradores son responsables de garantizar que los enlaces a recursos externos estén debidamente autorizados para los grupos seleccionados.
Este fue un proyecto colaborativo con @Moin; sus aportaciones, inspiración y comentarios fueron invaluables.







