Controle de exibição do menu de navegação (barra lateral)

|||
| - | - | - |
| :information_source: | Resumo | Permite a exibição de seções e links para funcionários, usuários logados e anônimos |
| :hammer_and_wrench: | Repositório| https://github.com/Lillinator/navigation-menu-display-control |
| :question: | Guia de Instalação | Como instalar um tema ou componente de tema |
| :open_book: | Novo em Temas do Discourse? | Guia para iniciantes no uso de Temas do Discourse |

<!- Preencha "repoName" e "repoURL" para o botão de instalação automática →

Instalar este componente de tema

Descrição

O componente de tema Navigation Menu Display Control permite a exibição de várias seções e links padrão apenas para funcionários e/ou apenas para usuários logados. Você também pode especificar seções personalizadas ou links personalizados (nomes de espaço reservado estão incluídos). Além disso, há uma configuração para exibir uma seção de menu personalizada apenas para usuários anônimos, bem como configurações para definir a ordem das seções padrão (categoria, tags, chat, canais, mensagens). As seções e links nas configurações são listas que podem ser editadas com seções existentes (veja as capturas de tela abaixo), bem como quantas seções ou links personalizados você desejar adicionar.

Configurações

:point_right:t2: Para seções de menu personalizadas, elas devem estar visíveis globalmente quando você as configurar (a caixa de seleção Tornar esta seção pública e visível para todos deve estar habilitada).
A seção superior é chamada de “community” no código, portanto, se você quiser ocultar essa seção, use o nome da seção “community”. Você pode usar os links instalados com plugins, por exemplo, links de documentação, aniversários e datas comemorativas.
Existem também configurações que se sobrepõem umas às outras - ter um link específico em Mais visível para usuários logados será substituído pela configuração do menu Mais visível apenas para funcionários.

Nome da Configuração Descrição
mostrar estas seções apenas para funcionários Lista de seções a serem exibidas apenas para funcionários. Pode incluir seções personalizadas com o formato de nome de slug "Staff Menu = staff-menu".
mostrar estas seções apenas para logados Lista de seções a serem exibidas apenas para usuários logados. Pode incluir seções personalizadas com o formato de nome de slug "User Menu = user-menu".
mostrar estes links apenas para funcionários Lista de links a serem exibidos apenas para funcionários. Pode incluir links personalizados nomeados com o mesmo formato de caixa ("Staff Link" = "Staff Link").
mostrar estes links apenas para logados Lista de links a serem exibidos apenas para usuários logados. Pode incluir links personalizados nomeados com o mesmo formato de caixa ("User Link" = "User Link")
mostrar mais apenas para funcionários Caixa de seleção para mostrar a seção de menu suspenso Mais apenas para funcionários.
mostrar mais apenas para logados Caixa de seleção para mostrar a seção de menu suspenso Mais apenas para usuários logados.
mostrar personalizado apenas para anônimos Campo de texto para uma seção de menu personalizada a ser exibida apenas para usuários anônimos (oculta para usuários logados).
mostrar menu de navegação apenas para logados Caixa de seleção para mostrar todo o menu lateral de navegação apenas para usuários logados (ocultar de usuários anônimos).
ocultar ícone de globo de menus personalizados Ocultar o ícone de globo para funcionários em seções de menu personalizadas (não visível para não funcionários por padrão).
ordenação padrão da seção de menu Permite reordenar as seções de menu padrão (não se aplica a menus personalizados)

Capturas de Tela

Configurações para seções apenas para funcionários e logados

Configurações para links apenas para funcionários e logados

Configurações para a seção Mais, seção de menu personalizada apenas para usuários anônimos, ícone de globo, ocultar todo o menu de navegação e alterar a ordem das seções de menu padrão


Para seções de menu da barra lateral de navegação específicas de grupos personalizados, use o componente de tema Group Menu Sections.

24 curtidas

Adicionada uma seção para permitir a reordenação das seções padrão do menu.

5 curtidas

Não acho que a funcionalidade de ocultar links esteja funcionando corretamente no momento.

As seções ocultam bem para mim, mas não consigo ocultar links personalizados individuais quando os converto para minúsculas e hifens.

Mas os links oficiais parecem precisar de minúsculas. Então eles podem ser tratados de forma diferente.

No entanto - eles funcionam se o texto completo do título for usado (com espaços e maiúsculas). Então, talvez apenas o OP (ele pode ser wikificado?) e as instruções no TC precisem ser alterados. Ou talvez uma mudança central seja necessária para consistência.

2 curtidas

Obrigado Nathan. Sim, algo mudou lá. Vou dar uma olhada nisso durante o fim de semana.

1 curtida

Ok, o componente ainda está funcionando corretamente, mas o formato do nome da classe do link personalizado mudou, então tive que fazer algumas alterações na documentação do campo no componente e no OP. Por favor, atualize o componente de tema.

Ao contrário das seções de menu personalizadas, para os links personalizados, os nomes nas configurações do componente devem ter o mesmo formato de maiúsculas/minúsculas dos seus nomes personalizados reais. Claro que os padrão ainda devem ser minúsculos, só para deixar as coisas ainda mais confusas, lol. :grin:

Por exemplo, se eu quiser mostrar um link personalizado específico chamado “Repositório GitHub” apenas para usuários logados:

Eu inseriria o mesmo nome de link na configuração mostrar estes links apenas para usuários logados no componente de tema:

Portanto, se você tiver links personalizados nas configurações de exibição de links - mostrar estes links apenas para a equipe e mostrar estes links apenas para usuários logados - você precisará alterar essas entradas de configuração do componente para corresponder aos nomes dos links.

Note que para seções de menu personalizadas (não links), a convenção de nomenclatura ainda é a mesma de antes - ainda é estilo slug em minúsculas (ou seja, “Nome do Menu Personalizado” = nome-menu-personalizado).

Obrigado novamente por trazer isso à minha atenção @nathank :hugs:

Em algum momento, quero adicionar a capacidade de reorganizar todas as seções do menu da barra lateral de navegação, incluindo as personalizadas, não apenas as padrão como faz atualmente. Eu sei como fazer isso codificado, só tenho que implementá-lo para usar configurações e variáveis.

4 curtidas

Olá Lilly,

Estou notando:

  • Não consigo reordenar seções, independentemente de usar o nome humano ou o slug
  • Toda a barra lateral fica oculta para convidados, mesmo quando não marquei essa caixa
1 curtida

Você não pode reordenar seções personalizadas com este componente. Acabei de verificar a funcionalidade de reordenação e ela está funcionando como esperado.

Sim, posso confirmar que a função de ocultação para anônimos está quebrada. Vou consertá-la hoje. obrigado por me avisar.

depois de olhar, a função de ocultação para anônimos está funcionando como esperado, mas você tem que remover os exemplos padrão que uso nas configurações para mostrar estas seções apenas para usuários logados para demonstrar como funciona.

1 curtida


Não exibe ninguém no modo sem login?

Isso deveria ser uma configuração de alternância…

image

1 curtida

Veja minha postagem acima da sua :slight_smile:

editar: talvez eu devesse considerar remover esses e apenas usar a captura de tela para mostrar. :thinking:

4 curtidas

Ok, eu fiz isso agora e editei o OP. Use as capturas de tela como um guia para os nomes das seções e links padrão.

2 curtidas

Eu acho que o CSS para a seção ⋮ Mais mudou (btn-flat não existe mais)

Tive que usar isso para ocultá-lo para anônimos:

.anon button.sidebar-more-section-links-details-summary {
    display: none;
}

Aqui está um PR:

3 curtidas

Isso foi mesclado. Obrigado novamente Nathan :hugs:

Também corrigi a função anônima para ocultar a barra lateral inteira, que estava um pouco quebrada.

3 curtidas

Olá,

Estou preso, tentando entender como usar este componente bacana. Estou tentando fazer com que usuários anônimos vejam apenas “Torne-se um membro” ou algo semelhante.
Você pode me ajudar?

Vou te dar 3 maneiras diferentes de fazer isso:

1. Use este componente de tema

Crie um menu lateral personalizado com o link para /login e use esta configuração no componente de tema:


2. Use CSS em um tema ou componente novo/existente

Se você quiser apenas adicionar um link na seção superior abaixo de “Meus Posts”, pode adicionar o link para /login através do link Mais - Personalizar esta seção como este. Por exemplo, se o link for chamado “Login ou Cadastro”:

Em seguida, vá para um tema ou componente de tema e edite o html/css assim:

Lembre-se que as referências de link naquela seção superior diferenciam maiúsculas de minúsculas:

.sidebar-section-link-wrapper[data-list-item-name="Login or Signup"] {
  display: none;
}

.anon .sidebar-section-link-wrapper[data-list-item-name="Login or Signup"] {
  display: block;
}

Resultado na visualização anônima/incógnita:


3. Use o seguinte componente de tema

Sim, criei um componente de tema específico há muito tempo que faz isso. Ele também faz o inverso - exibe uma seção apenas para membros (usuários logados).

3 curtidas

Entendi. Muito obrigado pelas orientações detalhadas.

2 curtidas