Seções do menu lateral de navegação do grupo

:information_source: Resumo Exibe seções de menu de navegação personalizadas para grupos específicos
:hammer_and_wrench: Repositório https://github.com/Lillinator/group-menu-sections
: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

Este componente de tema permite exibir seções de menu de navegação personalizado do Discourse (barra lateral) apenas para grupos de usuários específicos (incluindo níveis de confiança e grupos padrão). O componente permite até oito seções de menu personalizadas para uso, e quantos grupos você decidir para cada seção especificada. Use nomes de seção de menu em minúsculas separados por hífens (ex: “Menu de Superusuário” = superuser-menu, “Menu da Equipe” = staff-menu). Os grupos são selecionados entre seus grupos disponíveis por meio de campos de seleção suspensa.

Note que as seções personalizadas especificadas neste componente devem ser configuradas como públicas e visíveis para todos. Para criar uma nova seção de menu de grupo, crie uma pública como de costume e inclua-a nas configurações deste componente, juntamente com os grupos para os quais você deseja que ela seja visível. Você pode especificar a seção nas configurações do componente antes de configurar sua seção personalizada, desde que use o nome de seção correto - isso evitará que a seção seja exibida para todos antes de você restringi-la com o componente.

Embora este componente seja destinado a seções personalizadas, ele também pode ser usado para quaisquer seções existentes do menu de navegação (ex: categorias, tags, canais, chat pessoal e até mesmo a seção superior “comunidade” agora descontinuada). Por exemplo, você pode mostrar menus personalizados para os grupos de superusuário e equipe, e também ocultar tags e canais de um novo grupo de usuários (trust_level_0) ao mesmo tempo. Se você deseja exibir uma seção de menu específica apenas para membros do fórum (ocultar de anônimos), você pode configurá-la para ser exibida para o grupo trust_level_0.

:arrow_right: A visibilidade do grupo deve ser definida como “Todos” nas configurações de interação do grupo para quaisquer grupos que você deseja usar para este componente.


Configurações:

Lista de configurações
Nome Descrição
menu 1 Seção de menu personalizada 1 para mostrar ao(s) grupo(s) na configuração abaixo. Use nomes de slug em minúsculas.
exibir menu 1 apenas para estes grupos Seletor suspenso de grupos disponíveis para o menu 1. A visibilidade do grupo deve ser definida como Todos nas configurações de interação do grupo.
menu 2 - 8 As seções de menu personalizadas a serem exibidas ao(s) grupo(s) na configuração de grupo respectiva.
exibir menu 2 - 8 apenas para estes grupos Seletores suspensos de grupos disponíveis para os menus 2 - 8.
ocultar ícone de globo dos menus personalizados Ocultar o ícone de globo para a equipe (não aplicável para não membros da equipe)

Capturas de Tela:

Configurações de visibilidade de grupo necessárias

Captura de tela mostrando as primeiras configurações com seletor de grupo

Configuração de ocultação de globo


Por favor, observe que este componente é geralmente destinado ao menu de navegação no modo de barra lateral, mas também funciona no menu suspenso do cabeçalho por enquanto. Também funciona para visualizações de desktop e celular.

25 curtidas

Uau, eu realmente precisava disso, muito útil, muito obrigado. Eu amo seu trabalho e seus componentes para o Discourse.

2 curtidas

Obrigado Tiago! :blush:

2 curtidas

Oi, obrigado por compartilhar!

Este componente pode ser usado para adicionar um link personalizado visível apenas para grupos específicos na seção padrão superior?

não, este componente é apenas para seções, não para links. você pode criar uma seção personalizada com um link nela.

1 curtida

Posso adicionar este recurso em algum momento, eu acho. Se você realmente quiser isso, posso criar um componente específico para você ou mostrar como fazer.

4 curtidas

Como eu faria o oposto, para mostrar uma seção apenas para usuários anônimos? Eu quero criar seções separadas para usuários anônimos e membros do fórum (usuários logados).

Ótima pergunta. É assim que eu faria:

Passo 1:

Crie uma nova seção de menu de navegação personalizada, chamada, digamos, “Menu Anônimo” (você pode chamá-la como quiser, mas lembre-se do nome) e torne-a uma seção pública (marque a caixa na parte inferior da janela modal).

Passo 2:

Em seguida, no Common-CSS de um tema ou componente de tema que você criar, insira este código CSS. Substitua “anon-menu” pelo nome do slug da seção do menu que você criou no passo 1 (ou seja: Seção 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;
}

Na verdade, gosto dessa ideia como um cenário de caso de uso e a adicionarei ao componente quando o atualizar na próxima vez. Estou construindo um modal de esquema JSON para as configurações do componente, para que seja um pouco mais intuitivo configurá-lo.

1 curtida

Obrigado. Isso é mais complexo do que eu esperava, simplesmente de uma perspectiva de manutenção, eu não me lembraria do que fiz alguns meses depois.

EDIT: Minha tentativa de criar um grupo de usuários anônimos NÃO funciona porque é apenas para o recurso Anônimo, ou seja, quando um usuário logado muda para o modo Anônimo após o login e não para usuários verdadeiramente anônimos (usuários que não têm conta).

Oh, minhas desculpas, eu entendi errado - eu não percebi que você estava se referindo ao modo anônimo, eu pensei que você quis dizer usuários não logados. :woman_facepalming:t2:

Outra sugestão, seria ótimo se pudesse ler a lista de grupos e oferecer um menu suspenso para selecionar a partir de uma lista de grupos disponíveis, para que não haja erros de digitação ao escrever o nome dos grupos.

1 curtida

Sim, está correto, estou me referindo a usuários não logados, pessoas que acessam o site e não fizeram login ou não têm uma conta.

Eu tentei algo acima, mas não funcionou porque é um recurso completamente diferente (causou mais confusão do que deveria e sinto muito por isso).

Se você usar meu método acima, ele deverá funcionar. sem usar esse outro recurso de modo anônimo :slight_smile:

Mas adicionarei algumas opções especificamente para usuários anônimos na próxima vez que atualizar este componente, o que deve acontecer em breve.

1 curtida

Esperarei pela sua atualização de tema, não me sinto confortável personalizando temas manualmente e isso se torna um pesadelo de manutenção para os “iniciantes” :slight_smile:

Apenas postando um link para minha outra resposta e solução aqui para qualquer outra pessoa que possa ler sua pergunta aqui.

Adicionarei isso como um recurso a uma futura atualização do componente modificador do menu de navegação.

1 curtida

Atualizei este componente com caixas de seleção suspensas de grupos que são preenchidas com os grupos disponíveis. Também aumentei o número de seções de menu para oito e adicionei um ocultador de ícone de globo.

2 curtidas

Saudações!
Acabei de instalar este incrível componente de tema :ballot_box_with_check:

Ao configurar, tive uma dúvida:

  1. Nas instruções acima, você deu um exemplo do nome da seção do menu, como Nome da Seção Menu=nome-da-secao-menu

image


No meu caso, o nome da seção do menu está escrito em russo, por exemplo, “Сотрудники” (em inglês: Staff).


Como devo escrever o nome desta seção na linha menu 1? Letras russas ou latinas?
Talvez assim:

image

ou assim

image

A palavra “menu” é um atributo obrigatório no texto? :sweat_smile:

Tentei todos os métodos, mas ainda nada funciona.

Fiz todos os grupos públicos, como você prescreveu nas instruções.

  1. Parece que não consigo definir a visibilidade da seção “Comunidade” para determinados grupos usando este componente de tema?
1 curtida

Oh, não é. Eu só a usei como parte do nome de exemplo do menu. Por exemplo, se o nome do menu for “User Info”, ele se tornaria “user-info”. A melhor maneira de fazer isso é, ao criar a seção do menu, usar o nome no campo Título da seção e convertê-lo para o formato slug com letras minúsculas e hifens para os espaços.

Em seguida, nas configurações do componente de tema, tenha isto:

Acho que russas? O que estiver no campo Título da seção que marquei com uma seta na primeira captura de tela, mas com letras minúsculas e hifens para os espaços.

Acabei de testar essa configuração na minha captura de tela e funciona.

Você renomeou a seção da comunidade para russo em algum momento? Se não, usar “community” deve funcionar (estou assumindo que você se refere à seção de menu padrão superior sem nome).

1 curtida

Se eu escrever o nome da seção em letras latinas, tudo funciona bem:


E se eu escrever o nome da seção em cirílico (russo), não funciona.