Submenus do Cabeçalho

:discourse2: Resumo Submenus do Cabeçalho permitem criar um menu de cabeçalho com submenus usando apenas texto!
:eyeglasses: Pré-visualização Pré-visualizar no Discourse Theme Creator
:hammer_and_wrench: Link do Repositório https://github.com/discourse/discourse-header-submenus
:open_book: Novo em Temas do Discourse? Guia para iniciantes sobre o uso de Temas do Discourse

Instale este componente de tema

Funcionalidades

Desktop

Mobile

Configurações

Nome Descrição
Itens do menu Adicione itens ao menu. Um item por linha nesta ordem: Texto, ícone, título, visualização.
Itens do submenu Adicione itens ao submenu. Um item por linha nesta ordem: Pai, texto, ícone, URL, alvo, título.
Ícones SVG Inclua classes de ícones FontAwesome para cada ícone usado nas listas acima.
Modo fixo Force o menu a permanecer visível no topo da tela, independentemente da posição de rolagem - Apenas Desktop
Mostrar seta Exibir ícones de seta ao lado dos itens do menu
Inverter posição Exibir itens do menu no lado oposto da tela
Fundo do menu Cor de fundo do menu. (hex, rgb, rgba ou nome de cor CSS)
Cor do item do menu Cor dos itens do menu. (hex, rgb, rgba ou nome de cor CSS)
Menu-item-active-background Cor de fundo dos itens do menu quando ativos. (hex, rgb, rgba ou nome de cor CSS)
Menu-item-active-color Cor dos itens do menu quando ativos. (hex, rgb, rgba ou nome de cor CSS)
Fundo do submenu Cor de fundo dos submenus. (hex, rgb, rgba ou nome de cor CSS)
Cor do item do submenu Cor dos itens do submenu. (hex, rgb, rgba ou nome de cor CSS)
Fundo ao passar o mouse no item do submenu Cor de fundo dos itens do submenu ao passar o mouse. (hex, rgb, rgba ou nome de cor CSS)
Cor ao passar o mouse no item do submenu Cor dos itens do submenu ao passar o mouse. (hex, rgb, rgba ou nome de cor CSS)
Cor do separador Cor das linhas separadoras nos submenus. (hex, rgb, rgba ou nome de cor CSS)

Existem quatro grupos de configurações

  1. Itens do menu

    Insira os itens que deseja que apareçam no menu. Um item separado por vírgula por linha nesta ordem

    Texto, ícone, título, visualização

    Texto: o que aparece no menu.
    Ícone: o ícone exibido ao lado do item. Se não desejar usar um ícone, use none.
    Título: o texto que aparece ao passar o mouse sobre o item.
    Visualização: Escolha em quais dispositivos o item aparecerá.

    vdm aparece tanto no desktop quanto no mobile
    vdo aparece apenas em desktops,
    vmo aparece apenas em mobiles.

    Devido à falta de espaço, não é recomendado adicionar mais de 3-4 itens no mobile.

  2. Itens do submenu

    Insira uma lista dos itens do submenu que deseja adicionar ao seu menu. Um item separado por vírgula por linha nesta ordem

    Pai, texto, ícone, URL, alvo, título

    Pai: o nome do item do menu pai sob o qual este item do submenu deve aparecer. Use o valor texto da lista acima.
    Texto: o texto que aparece para este item do submenu.
    Ícone: o ícone para este item do submenu; use none se nenhum ícone for necessário.
    URL: o caminho para o qual este item do menu leva. Você também pode usar caminhos relativos.
    Alvo: Escolha se este item será aberto em uma nova aba ou na mesma aba. Use blank para abrir o link em uma nova aba, ou use self para abri-lo na mesma aba.
    Título: o texto que aparece ao passar o mouse sobre o item.
    Separadores: Você também pode adicionar separadores entre itens do submenu. Para adicionar um separador, use pai, divider.

Aqui está um exemplo rápido para cobrir os pontos 1 e 2 acima:

Digamos que eu queira adicionar um item de menu chamado Design e adicionar alguns itens ao seu submenu assim

Primeiro, eu inseriria isso como um menu_item

Design, magic, Get inspired!, vdm

E então inseriria estes como itens sub_menu

Design, Galleries, th, #, blank, Cool galleries for you to look at.
Design, Design process, lightbulb-o, #, blank, Learn the basics.
Design, Blog design, columns, #, blank, What makes for a great blog?
Design, divider
Design, Freebies, gift, #, blank, Everyone likes freebies!
Design, Photoshop tutorials, book, #, blank, Photoshop for beginners.
Design, Design trends, bar-chart, #, blank, Stay on top of the current trends!

É isso!

O tema vem com um menu de exemplo por padrão, então dê uma olhada nele e pergunte se tiver dúvidas.

  1. Opções de layout.

    Estas são bastante autoexplicativas

  2. Opções de cor

    Estas estão vazias por padrão, mas se você adicionar uma cor aqui, ela substituirá os padrões do componente, que são baseados no esquema de cores atual.


:discourse2: Hospedado por nós? Componentes de tema estão disponíveis para uso em nossos planos Standard, Business e Enterprise.

89 curtidas

I just pushed an update to this component.

https://github.com/discourse/discourse-header-submenus/commit/cbb1c280f031024335cf3b103b0e2c242c5862b1
There are no visual changes and if you’ve added custom CSS to your theme, it should still work because the component still has the same classes.

I dropped the external library that the component previously used and jQuery by extension. I went through the issues reported here, fixed the one I could reproduce and then deleted the replies to keep everything tidy. If your problem still persists after the update, please feel free to post it.

Beyond that, the update only adds one new feature. The submenus will now show on hover on desktop instead of requiring a click.

14 curtidas

Nice update Joe, I’ve only run into two problems on mobile.

  1. You can no longer scroll side to side if you have a lot of menu items.
  2. When you tap an item in the dropdown, the dropdown stays open
2 curtidas

This should still work, but it’s only on the mobile view. So, if you just test it the browser fake mobile view without changing the user agent, it won’t work. Can you please confirm that you’re testing this on an actual phone. If so, can you let me know what device / browser you’re using?

I see this too. The reason is that all the dropdown (opening / closing) behaviour is now handled with CSS instead of JavaScript. I don’t think CSS has a way to handle auto closing the dropdown after you click it. So, we have to fallback to JS for that particular issue. I’ll do it after you confirm the scroll issue on mobile.

2 curtidas

This is on an iPhone 8 with the Discourse app, same in Safari. Thanks Joe!

2 curtidas

Any update on this Joe? Thanks!

Over at the Sponge community site they have a nice integration of this in the main header instead of an extra layer at the top:


How can this be achieved? Would love it for our site.
4 curtidas

Can submenus be possible to header links? This theme component adds a new menu above the header, but some people don’t want a new navigation menu. They just want ability to hover over the current header links and have submenus.

5 curtidas

That is nice. I wonder how they did it.

1 curtida

is someone having this issue? the social networks icons are not working (they were) and even using a different fa it won’t show.

Captura de pantalla 2020-07-23 a les 13.42.16

1 curtida

Have you tried the prefix of fab, since these are brands they need to have this prefix.

1 curtida

thansk for you reply @davidkingham I added the prefix fab, but the logo doesn’t appear.

1 curtida

Don’t forget to edit the icons in the list of links also, you must include fab- prefix in these

4 curtidas

Bingo! that was it :slight_smile: thanks a lot!

2 curtidas

Hi, I’m not sure why but the setting “Menu-item-active-background” doesn’t seem to be working right. I believe it should just change the background color of the menu when I hover, however the selected color is completely covering up the text. See here…

Menu-item-active-background

Also, the setting below it " Menu-item-active-color" doesn’t seem to do anything. I’ve tried different color codes and nothing changes when I go to test it.

Any ideas?

2 curtidas

I would like to place the submenus below the site header instead of top. Could you please tell me how to do this? A code snippet would help :pray:

1 curtida

@Johani @davidkingham Did you find a solution for this problem “When you tap an item in the dropdown, the dropdown stays open” ?

Thank you

1 curtida

No it’s still behaving this way, one potential solution is to show only icons on mobile with no text, thoughts?

1 curtida

How showing just icons on mobile solves the problem? "When you tap an item in the dropdown, the dropdown stays open”

1 curtida

@ElForoViajero Your submenus seem to work okay on both desktop and mobile. As soon as you click the item in the menu, the screen refreshes and the menu closes automatically. Did you have to do something special?

1 curtida