| Resumen | Crear menús de barra lateral personalizados para grupos seleccionados | |
| Vista previa | Únete a este grupo de Creador de temas y luego vuelve a ver la vista previa aquí | |
| Repositorio | https://github.com/Lillinator/discourse-group-sidebar-menus | |
| 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 en Discourse |
Instalar este componente de tema
Descripción general
Este componente de tema para 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 muestran 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ú lleva directamente a los administradores a la configuración del componente.
Algunos casos de uso
- Recursos y enlaces rápidos solo para el personal.
- Atajos para moderadores de categorías.
- Portales personalizados para grupos (equipos de proyecto, grupos de estudio, clubes de lectura, miembros VIP).
- Enlaces a recursos de sitios web de padres o socios.
Configuración
Secciones del 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 el encabezado de la sección de la barra lateral |
| Grupos permitidos | Grupos autorizados para ver esta sección del menú (máximo: 20 grupos por sección) |
| Enlaces del menú | Colección de enlaces a mostrar en esta sección (máximo: 20 enlaces por sección) |
Propiedades del enlace
| Propiedad | Descripción |
|---|---|
| Icono | Nombre del icono de FontAwesome (por ejemplo, circle-info, star, user-group). Es posible que deba agregarse a Admin > Todas las configuraciones 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 URLs absolutas (https://example.com) |
Instalación y configuración
- Instala el componente de tema según lo indicado en 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 luego selecciona los grupos que deseas que tengan acceso a él. - Haz clic en
+ new_menu_sectionpara agregar otra sección o guarda los cambios.
Capturas de pantalla de configuración de administrador con 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 Menú de gatos y agrega 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ú.
Agrega 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 agregar 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 al menú de 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 agregarse 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 pertenecen a los grupos permitidos de un menú verán un icono de lápiz en el encabezado de la sección que los llevará a la configuración del componente.
Configuración de grupos
- El grupo
everyoneno es compatible: utiliza la interfaz de usuario nativa del pie de página 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 asignaciones de grupo diferentes.
- Los usuarios que pertenecen a varios grupos verán todas las secciones del 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 a nivel de interfaz de usuario. Controla la visibilidad del menú, no el acceso a los recursos: este componente solo controla lo que se muestra 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 asegurar 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.
Mejores prácticas para administradores:
Configura por separado los permisos de seguridad de las categorías vinculadas y la pertenencia a grupos; 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 asegurar que los enlaces a recursos externos estén autorizados adecuadamente para los grupos seleccionados.
Este fue un proyecto colaborativo con @Moin; su aporte, inspiración y retroalimentación fueron invaluables.
Echa un vistazo a mi otro material de Discourse







