Menus da Barra Lateral de Grupos do Discourse

:information_source: Resumo Crie menus de barra lateral personalizados para grupos selecionados
:eyeglasses: Pré-visualização Junte-se a este grupo Criador de Temas e depois pré-visualize aqui
:hammer_and_wrench: Repositório \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e
:question: Guia de Instalação Como instalar um tema ou componente de tema
:open_book: Novo em Temas do Discourse? Guia para iniciantes sobre como usar Temas do Discourse

Instalar este componente de tema

:woman_technologist:t2: Visão Geral

Este componente de tema do Discourse oferece aos administradores do fórum a capacidade de criar menus de barra lateral personalizados que são acessíveis apenas aos membros de grupos selecionados.

Principais Recursos:

  • Visibilidade de menu baseada em grupo - As seções do menu aparecem na barra lateral apenas para usuários autorizados
  • Configuração baseada em objeto - Interface de configurações fácil de usar para criar menus
  • Múltiplas seções - Crie seções de menu ilimitadas para diferentes grupos (dentro do razoável)
  • Link de edição rápida para administrador - O ícone de lápis nos cabeçalhos do menu direciona os administradores diretamente para as configurações do componente

:briefcase: Alguns Casos de Uso

  • Recursos e links rápidos apenas para a equipe
  • Atalhos para moderadores de categoria
  • Portais de grupo personalizados (equipes de projeto, grupos de estudo, clubes do livro, membros VIP)
  • Links para recursos de sites parceiros ou principais

:gear: Configurações

Seções de Menu (menu_sections)

Abre o editor de configurações de objeto para configurar seções de menu de grupo personalizadas.

Propriedades da Seção

Propriedade Descrição
Título do Menu Título exibido como o cabeçalho da seção da barra lateral
Grupos Permitidos Grupos autorizados a visualizar esta seção de menu (máx.: 20 grupos por seção)
Links do Menu Coleção de links para exibir nesta seção (máx.: 20 links por seção)

Propriedades do Link

Propriedade Descrição
Ícone Nome do ícone FontAwesome (ex: circle-info, star, user-group). Pode precisar ser adicionado em Admin > Todas as configurações do site > subconjunto de ícones svg
Texto Rótulo de exibição para o link
URL Destino do link - suporta caminhos relativos (/faq, /my/preferences) e URLs absolutas (https://example.com)

:wrench: Instalação e Configuração

  1. Instale o componente de tema conforme Installing a theme or theme component.
  2. Vá para o Editor de configurações de Objetos
  3. Clique no botão + new_menu_section para configurar a primeira seção de menu personalizada
  4. Dê um título ao novo menu no campo Título do Menu e, em seguida, selecione os grupos que você deseja que tenham acesso a ele.
  5. Clique no botão + new_menu_section para adicionar outra seção ou Salve as alterações.
Capturas de tela de configuração do administrador com configuração de exemplo

Instalação nova - vá para o Editor de configurações de Objetos.

Cenário de exemplo com 2 menus personalizados e 3 usuários, um deles é um administrador:

  • @Catra adora gatos e é membro do grupo pink, que terá acesso ao Menu de Gatos :grinning_cat:
  • @HelloKitty gosta de cachorros e é membro do grupo purple, que terá acesso ao Menu de Cachorros :dog_face:
  • @Lilly é membro do grupo purple porque ela tem um cachorro e cachorros são melhores. No entanto, ela também é uma administradora do fórum, e administradores terão acesso ao Menu de Gatos porque gatos precisam de mais supervisão :dog_face: :cat_with_wry_smile:

Crie um novo menu personalizado - para nosso exemplo, crie Menu de Gatos e adicione os grupos permitidos a ter acesso a ele - pink e admins. Em seguida, clique no botão + menu_link para configurar os links para o novo menu.

Adicione os links do menu - 1. Nome do ícone Fontawesome, 2. texto a ser exibido para o link, e 3. a URL, relativa ou absoluta. Clique no botão + menu_link para adicionar outro link a este menu.

Crie outra seção de menu personalizada chamada Menu de Cachorros, dê acesso apenas ao grupo purple e configure os links:

Capturas de tela de acesso ao menu da barra lateral resultante

O usuário @Catra tem o menu de Gatos! :grinning_cat:

O usuário @HelloKitty tem o menu de Cachorros! :dog_face:

A usuária administradora @Lilly tem ambos os menus e pode editá-los! :smiling_cat_with_heart_eyes:

Exemplo de Configuração

Título do Menu: "Recursos da Equipe"
Grupos Permitidos: staff
Links:
  - Ícone: wrench
    Texto: Guia de Moderação
    URL: /t/moderation-guide/123
  - Ícone: chart-line
    Texto: Painel de Análise
    URL: /admin/dashboard

:light_bulb: Observações Importantes

Acesso de Administrador

Os administradores devem se adicionar aos grupos para ver os menus configurados para esses grupos. O status de administrador por si só não concede acesso a todos os menus personalizados. Isso é intencional! Além disso, os administradores que pertencem aos grupos permitidos de um menu verão um ícone de lápis no cabeçalho da seção que leva às configurações do componente.

Configuração de Grupo

  • O grupo everyone não é suportado - Use a interface nativa do rodapé da barra lateral para criar menus personalizados globais para todos os usuários, incluindo visitantes anônimos.
  • Máximo de 20 grupos por seção de menu. Se precisar de mais, crie seções duplicadas com diferentes atribuições de grupo.
  • Usuários em vários grupos verão todas as seções de menu às quais têm acesso.

Teste e Organização

Use contas de teste para verificar o acesso correto para diferentes combinações de grupos. Mantenha um registro de suas configurações de menu para evitar confusão à medida que a complexidade aumenta; uma matriz de acesso ou documentação semelhante é recomendada para fóruns maiores com muitos grupos.

Considerações de Segurança

Este componente fornece apenas controle de acesso no nível da interface do usuário. Ele controla a visibilidade do menu, não o acesso ao recurso.

:white_check_mark: Experiência de navegação limpa e organizada
:white_check_mark: Redução da desordem da interface do usuário para usuários não autorizados
:white_check_mark: Portais profissionais específicos para grupos

Isso não é um recurso de segurança. Não impede o acesso às fontes dos links - este componente controla apenas o que é renderizado na barra lateral, não quem pode acessar os recursos reais.

Sempre confie no sistema de permissões integrado do Discourse para proteger recursos reais:

  • Configure as permissões de categoria adequadamente
  • Defina restrições de visibilidade de tópicos
  • Use controles de acesso baseados em grupo para conteúdo
  • Garanta que recursos privados exijam autenticação

Melhor prática para administradores:
Configure as permissões de segurança da categoria vinculada e a associação ao grupo separadamente - por exemplo: um link de menu para uma categoria privada deve ter as permissões dessa categoria configuradas corretamente. Os administradores são responsáveis por garantir que os links para recursos externos sejam devidamente autorizados para os grupos selecionados.


Este foi um projeto colaborativo com @Moin - a contribuição, inspiração e feedback dela foram inestimáveis.

9 curtidas

Parece que estou recebendo um 404 no repositório.

EDIT: Tudo certo agora!

2 curtidas

haha tente novamente. esqueci de deixar público! :laughing:

6 curtidas

Fabuloso! Eu estava querendo isso há algum tempo. Eu construí uma boa coleção de menus laterais personalizados úteis para mim – links para moderação, para tarefas de administradores e referência, para documentação do Discourse, para conteúdo externo que frequentemente referenciamos no fórum, etc. Um menu tem links para as várias reuniões periódicas que simplesmente usa o link tag, por exemplo, /tag/comm-mgt-monthly que me ajuda a pular rapidamente para as agendas e atas atuais e anteriores.

Muitas vezes desejei uma maneira de exportar minhas configurações de menu lateral personalizado para que outros membros da minha equipe pudessem importar – esta é uma configuração muito superior!

E ícones! Viva! Pelo que sei, a única maneira de fazer isso era adicionar CSS personalizado. Esta nova solução é elegante.

E sustentável! Todos os administradores poderão editar os arquivos de configuração, então não dependerão apenas de mim. Obrigado @Lilly e @Moin!

1 curtida

Olá @Lilly e @Moin,

Obrigado por construir este componente.

Eu estava usando Group sidebar menu sections - deprecated no meu site auto-hospedado e na minha atualização mais recente fui avisado de que o componente de tema antigo havia sido descontinuado e para instalar este, em vez disso.

Instalei o componente e criei meu menu de grupo personalizado, mas simplesmente não estou vendo como mover o menu do grupo. (Eu devo estar olhando bem para algo óbvio. :see_no_evil_monkey:) Nas suas capturas de tela, seu Cat Menu e Dog Menu estão na navegação da barra lateral acima da seção Topics, mas meu menu de grupo personalizado está aparecendo na parte inferior da minha navegação da barra lateral. Como eu o movo para cima, acima de Topics?

1 curtida

Não está óbvio. A Lilly usou Discourse Sidebar Menu Reorder para colocar cat-menu no topo

2 curtidas

Muito obrigado! Foi muito fácil de configurar.

2 curtidas