| Resumen | Crear menús de barra lateral personalizados para grupos seleccionados | |
| Vista previa | Únete a este grupo de Creadores de Temas y luego visualiza aquí | |
| Repositorio | https://github.com/Lillinator/discourse-group-sidebar-menus | |
| Guía de instalación | Cómo instalar un tema o componente de tema |
Instalar este componente de tema
Resumen general
Este componente de tema de Discourse permite a los administradores del foro crear menús de barra lateral 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 se representan en la barra lateral para usuarios autorizados
- Configuración basada en objetos: interfaz 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 icono de lápiz en los encabezados del menú enlaza directamente a los ajustes del componente
Algunos casos de uso
- Recursos y enlaces rápidos solo para el personal
- Accesos directos para moderadores de categorías
- Portales personalizados para grupos (equipos de proyecto, grupos de estudio, clubes de lectura, miembros VIP)
- Enlaces a recursos del sitio web principal o asociado
Configuración
Secciones de menú (menu_sections)
Abre el editor de configuración de objetos para configurar secciones de menú personalizadas para grupos.
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 (por ejemplo, circle-info, star, user-group). Puede ser necesario añadirlo a Admin > Todos los ajustes del sitio > subconjunto de iconos svg |
| Texto | Etiqueta de visualización para el enlace |
| URL | Destino del enlace: admite tanto rutas relativas (/faq, /my/preferences) como URLs 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 - Asigna un título al nuevo menú en el campo
Título del menúy, a continuación, selecciona los grupos a los que deseas dar acceso. - Haz clic en
+ new_menu_sectionpara añadir otra sección o guarda los cambios.
Capturas de pantalla de la configuración de administrador con ejemplo de configuración
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(rosa), que tendrá acceso alMenú de gatos@HelloKittyle gustan los perros y es miembro del grupopurple(morado), que tendrá acceso alMenú de perros@Lillyes miembro del grupopurpleporque 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 Menú de gatos y añade los grupos autorizados para tener acceso a él: pink y admins. Luego haz clic en el botón + menu_link para configurar los enlaces del nuevo menú.
Añade algunos enlaces de menú: 1. nombre del icono de Fontawesome, 2. texto para mostrar en 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, otorga acceso solo al grupo purple y configura los enlaces:
Capturas de pantalla del acceso resultante a la barra lateral
¡El usuario @Catra tiene el menú de gatos! ![]()
¡El usuario @HelloKitty tiene el menú de perros! ![]()
¡El usuario administrador @Lilly tiene ambos menús y puede editarlos! ![]()
Ejemplo de configuración
Título del menú: "Cosas de gatos"
Grupos permitidos: team-cat
Enlaces:
- Icono: link
Texto: Videos y fotos de gatos
URL: /t/cat-videos-and-photos/123
- Icono: magnifying-glass
Texto: Wiki de gatos
URL: https://en.wikipedia.org/wiki/Cat
Notas importantes
Acceso de administrador
Los administradores deben añadirse a sí mismos a los grupos para ver los menús configurados para esos grupos. El estatus de administrador por sí solo no otorga acceso a todos los menús personalizados. ¡Esto es intencional! Además, los administradores que pertenezcan a los grupos permitidos de un menú verán un icono de lápiz en el encabezado de la sección que enlaza a la configuración del componente.
Configuración de grupos
- El grupo
everyone(todos) no es compatible: utiliza la interfaz de usuario nativa del pie de la barra lateral 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 que pertenezcan a varios grupos verán todas las secciones de menú a las que tengan acceso.
Pruebas y organización
Utiliza cuentas de prueba para verificar el acceso correcto para diferentes combinaciones de grupos. Mantén un registro de tus configuraciones de menú para evitar confusiones a medida que aumenta 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 proporciona control de acceso solo a nivel de interfaz de usuario. Controla la visibilidad del menú, no el acceso a los recursos: este componente solo controla lo que se representa en la barra lateral, no quién puede acceder a los recursos reales.
Confía siempre en el sistema de permisos integrado de Discourse para proteger los recursos reales:
- Configura correctamente los permisos de las categorías
- 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
Mejores prácticas para administradores:
Configura los permisos de seguridad de las categorías vinculadas y la pertenencia a grupos por separado; por ejemplo: un enlace de menú a una categoría privada debe tener configurados correctamente los permisos de esa categoría. Los administradores son responsables de garantizar que los enlaces a recursos externos estén autorizados apropiadamente para los grupos seleccionados.
Este fue un proyecto colaborativo con @Moin; su aportación, inspiración y comentarios fueron invaluables.
Consulta mis otras cosas de Discourse








