Resumen:
Asigne a cada usuario una página de inicio específica (“Categoría de inicio”) en su comunidad.
Permite tener un único Discourse en el que los usuarios tengan “páginas de inicio” específicas (es decir, Categorías) según su Grupo Principal.
GitHub: Repositorio https://github.com/merefield/discourse-category-home
Instalar: Siga la guía de instalación de plugins.
¿Disfruta de este plugin? ¡Por favor, dale
en GitHub ! ![]()
Características
Utilizando solo los elementos de interfaz disponibles de un Discourse normal, esto lo convierte en una solución robusta y fácil de mantener.
Configuración
Usando la funcionalidad normal de Discourse:
- Decida cuántas “casas” de Categoría
desea, créelas si no existen:
- A menos que ya existan, cree un Grupo distinto para cada una de ellas
- Agregue los Usuarios a cada uno de esos Grupos apropiadamente
- Establezca ese Grupo como el Grupo Principal de cada Usuario
- Permita a cada uno de esos Grupos acceder a su respectiva Categoría.
¡Está HECHO! ![]()
Ahora, cada vez que alguien navegue a la página de inicio de su comunidad, será redirigido a la Categoría para la cual su Grupo Principal tiene permisos.
NB: Esto sigue una regla simple que debe cumplir: Si alguien tiene un Grupo Principal registrado y este tiene permisos para una sola Categoría, se redirigirá a esa Categoría como su inicio.
Usar un Grupo Principal de esta manera tiene una serie de ventajas, como habrá notado en el enlace anterior, entre ellas:
- Puede darle a alguien un Título
- Puede darle un Estilo
- Puede estilizar sus Publicaciones
Otras consideraciones
Haga que sus páginas de inicio de Categoría sean más impactantes al estilarlas de forma distintiva, por ejemplo: Category Banners
Verificación de permisos de Categoría/Grupo Principal distintos
Para verificar que su Grupo Principal solo está asociado con una sola Categoría, puede usar esta útil función integrada de Discourse, por ejemplo:
Solo hay una Categoría en la lista, ¡bien! ![]()
La parte técnica
La lógica exacta empleada es esta:
return CategoryGroup.where(group_id: primary_group).first.category_id
Si bien podría ser posible “arreglarlo”, probablemente no sea aconsejable si usa ese Grupo Principal en más de una Categoría si espera que esto funcione, así que tenga eso en cuenta y siga mi recomendación.
Proporcionar más flexibilidad
Estoy abierto a sugerencias sobre cómo configurar este comportamiento, pero me gustaría limitar la cantidad de configuraciones personalizadas y usar la mayor cantidad posible de comportamiento y datos listos para usar. Si tiene una solución simple y elegante en mente, hágamelo saber.
¿No puede instalar plugins/La cosa del Grupo Principal no funciona para usted?
Si no puede instalar Plugins (porque está en un plan de alojamiento restrictivo), o si la configuración del Grupo Principal no le funciona, considere esta alternativa de Componente de Tema: Custom Homepage for Groups que requiere una configuración más personalizada, pero es menos invasiva.
