Secciones del menú de la barra lateral de navegación del grupo

:information_source: Resumen Muestra secciones de menú de navegación personalizadas para grupos específicos
:hammer_and_wrench: Repositorio https://github.com/Lillinator/group-menu-sections
:question: Guía de instalación Cómo instalar un tema o componente de tema
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Este componente de tema permite mostrar secciones del menú de navegación personalizado de Discourse (barra lateral) solo a grupos de usuarios específicos (incluidos los niveles de confianza y los grupos predeterminados). El componente permite hasta ocho secciones de menú personalizadas para usar, y tantos grupos como decida para cada sección especificada. Utilice nombres de sección de menú en minúsculas separados por guiones (es decir, “Menú de superusuario” = superuser-menu, “Menú del personal” = staff-menu). Los grupos se seleccionan de sus grupos disponibles a través de campos de selección desplegables.

Tenga en cuenta que las secciones personalizadas especificadas en este componente deben configurarse como públicas y visibles para todos. Para crear una nueva sección de menú de navegación de grupo, cree una pública como de costumbre y luego inclúyala en la configuración de este componente junto con los grupos para los que desea que sea visible. Puede especificar la sección en la configuración del componente antes de configurar su sección personalizada, siempre que utilice el nombre de sección correcto; esto evitará que la sección se muestre a todos antes de restringirla con el componente.

Aunque este componente está destinado a secciones personalizadas, también se puede utilizar para cualquier sección existente del menú de navegación (es decir, categorías, etiquetas, canales, chat personal e incluso la sección superior “comunidad” ahora obsoleta). Por ejemplo, puede mostrar menús personalizados a los grupos de superusuario y personal, y también ocultar etiquetas y canales a un nuevo grupo de usuarios (trust_level_0) al mismo tiempo. Si desea mostrar una sección de menú específica solo para los miembros del foro (ocultar a los anónimos), puede configurarla para que se muestre para el grupo trust_level_0.

:arrow_right: La visibilidad del grupo debe establecerse en “Todos” en la configuración de interacción del grupo para cualquier grupo que desee utilizar para este componente.


Configuración:

Lista de configuraciones
Nombre Descripción
menú 1 Primera sección de menú personalizada para mostrar al(los) grupo(s) en la configuración siguiente. Use nombres de slug en minúsculas.
mostrar menú 1 solo para estos grupos Selector desplegable de grupos disponibles para el menú 1. La visibilidad del grupo debe establecerse en Todos en la configuración de interacción del grupo.
menú 2 - 8 Las secciones de menú personalizadas a mostrar al(los) grupo(s) en la configuración de grupos respectiva.
mostrar menú 2 - 8 solo para estos grupos Selectores desplegables de grupos disponibles para los menús 2 - 8.
ocultar icono de globo de menús personalizados Ocultar el icono de globo para el personal (no aplicable al personal no miembro)

Capturas de pantalla:

Configuración de visibilidad de grupo requerida

Captura de pantalla que muestra la primera configuración con el selector de grupo

Configuración de ocultación del globo


Tenga en cuenta que este componente está destinado generalmente al menú de navegación en modo de barra lateral, pero por ahora también funciona en el menú desplegable del encabezado. También funciona tanto para vistas de escritorio como móviles.

25 Me gusta

¡Guau, realmente necesitaba esto, muy útil, muchas gracias. Me encanta tu trabajo y tus componentes para Discourse.

2 Me gusta

¡Gracias Tiago! :blush:

2 Me gusta

Hola, ¡gracias por compartir!

¿Se puede usar este componente para agregar un enlace personalizado visible solo para grupos específicos en la sección predeterminada superior?

no, este componente es solo para secciones, no para enlaces. sin embargo, puedes crear una sección personalizada con un solo enlace.

1 me gusta

Quizás añada esta función en algún momento, creo. Si realmente quieres esto, puedo crear un componente específico para ti o mostrarte cómo hacerlo.

4 Me gusta

¿Cómo haría lo contrario, mostrar una sección solo a los usuarios anónimos? Quiero crear secciones separadas para usuarios anónimos y miembros del foro (usuarios conectados).

Oh, buena pregunta. Así es como lo haría:

Paso 1:

Crea una nueva sección de menú de navegación personalizada, llámala “Menú Anónimo” (puedes llamarla como quieras, pero recuerda el nombre) y haz que sea una sección pública (marca la casilla en la parte inferior de la ventana modal).

Paso 2:

Luego, en el CSS común de un tema o componente de tema que crees, inserta este código CSS. Reemplaza “anon-menu” con el nombre de la sección (slug) del nombre de la sección del menú que creaste en el paso 1 (es decir: Sección Personalizada = custom-section).

.sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: none;
}

.anon .sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: block;
}

De hecho, me gusta esta idea como un escenario de caso de uso y la añadiré al componente cuando lo actualice la próxima vez. Estoy construyendo una ventana modal de esquema JSON para la configuración del componente, por lo que es un poco más intuitivo de configurar.

1 me gusta

Gracias. Esto es más complejo de lo que esperaba, simplemente desde una perspectiva de mantenimiento, no recordaría lo que hice unos meses después.

EDITAR: Mi intento de crear un grupo de usuarios anónimos NO funciona porque eso es solo para la función Anónimo, es decir, cuando un usuario conectado cambia al modo Anónimo después de iniciar sesión y no para usuarios verdaderamente anónimos (usuarios que no tienen una cuenta).

Oh, mis disculpas, te entendí mal. No me di cuenta de que te referías al modo anónimo, pensé que te referías a usuarios que no han iniciado sesión. :woman_facepalming:t2:

Otra sugerencia, sería genial si pudiera leer la lista de grupos y ofrecer un menú desplegable para seleccionar de una lista de grupos disponibles para que uno no tenga errores tipográficos al escribir el nombre de los grupos.

1 me gusta

Sí, es correcto, me refiero a los usuarios que no han iniciado sesión, personas que llegan al sitio web y no han iniciado sesión o no tienen una cuenta.

Intenté algo antes, pero no funcionó porque es una característica completamente diferente (causó más confusión de la que debería y lamento eso).

Si usas mi método anterior debería funcionar. sin usar esa otra función de modo anónimo :slight_smile:

Pero añadiré algunas opciones específicamente para usuarios anónimos la próxima vez que actualice este componente, lo que debería ser pronto.

1 me gusta

Esperaré la actualización de tu tema, no me siento cómodo personalizando temas manualmente y se convierte en una pesadilla de mantenimiento para los “inexpertos” :slight_smile:

Solo publico un enlace a mi otra respuesta y la solución aquí para cualquiera que pueda leer tu pregunta aquí.

Añadiré esto a una futura actualización del componente modificador del menú de navegación.

1 me gusta

He actualizado este componente con cuadros desplegables de grupos que se rellenan con los grupos disponibles. También he aumentado el número de secciones de menú a ocho y he añadido un ocultador de iconos de globo.

2 Me gusta

¡Saludos!
Acabo de instalar este increíble componente de tema :ballot_box_with_check:

Mientras lo configuraba, tuve una pregunta:

  1. En las instrucciones de arriba, diste un ejemplo del nombre de la sección del menú, como Sectionname Menu=sectionname-menu

image


En mi caso, el nombre de la sección del menú está escrito en ruso, por ejemplo, “Сотрудники” (en inglés: Staff).


¿Cómo debo escribir el nombre de esta sección en la línea menu 1? ¿Letras rusas o latinas?
¿Quizás así:

image

o así

image

¿Es la palabra “menu” un atributo obligatorio en el texto? :sweat_smile:

He intentado todos los métodos, pero todavía nada funciona.

He hecho todos los grupos públicos, como indicaste en las instrucciones.

  1. ¿Parece que no puedo establecer la visibilidad de la sección “Comunidad” para ciertos grupos usando este componente de tema?
1 me gusta

Oh no, no lo es, solo lo tenía como parte del nombre de ejemplo del menú. Por ejemplo, si el nombre del menú es “Información del usuario”, entonces sería “user-info”. La mejor manera de hacerlo es cuando creas la sección del menú, usa el nombre en el campo Título de la sección y conviértelo al formato slug con minúsculas y guiones para los espacios.

Luego, en la configuración del componente del tema, ten esto:

¿Rusos, creo? Lo que sea que esté en el campo Título de la sección que marqué con una flecha en la primera captura de pantalla, pero con minúsculas y guiones para los espacios.

Acabo de probar esa configuración en mi captura de pantalla y funciona.

¿Renombraste la sección de la comunidad en ruso en algún momento? Si no, entonces usar “community” debería funcionar (asumo que te refieres a la sección de menú predeterminada superior sin nombre).

1 me gusta

Si escribo el nombre de la sección en letras latinas, entonces todo funciona bien:


Y si escribo el nombre de la sección en cirílico (ruso), no funciona.