| Riepilogo | Custom Header Links ti consente di aggiungere facilmente collegamenti testuali personalizzati all’intestazione. | |
| Anteprima | Anteprima su Discourse Theme Creator | |
| Link Repository | GitHub - discourse/discourse-custom-header-links · GitHub | |
| Nuovo sui Temi di Discourse? | Guida per principianti all’utilizzo dei temi di Discourse |
Installa questo componente tema
Funzionalità
Desktop
Mobile
(a causa dello spazio molto limitato, non è consigliabile aggiungere più di un link su dispositivi mobili)
Impostazioni
| Impostazione | Descrizione |
|---|---|
custom_header_links |
L’elenco strutturato di link da visualizzare nell’intestazione. Ogni link è configurato tramite un modulo con campi individuali (vedi sotto). |
links_position |
Controlla se i link appaiono sul lato destro (predefinito) o sinistro dell’intestazione vicino al logo. Quando impostato su left, tutti i link vengono automaticamente nascosti nelle pagine dei topic per fare spazio al titolo del topic — indipendentemente dalle singole impostazioni hide_on_scroll del link. |
Aggiunta di Link
I link sono configurati tramite un modulo strutturato nelle impostazioni del componente tema. Clicca su Aggiungi per aggiungere un nuovo link. Ogni link ha i seguenti campi:
| Campo | Obbligatorio | Descrizione |
|---|---|---|
| Testo | L’etichetta visibile per il link. Max 100 caratteri. Determina anche la classe CSS applicata al link (vedi Personalizzazione CSS sotto). | |
| Titolo | Il testo del tooltip mostrato quando si passa il mouse sopra il link. Max 1000 caratteri. | |
| URL | L’URL a cui punta il link. Può essere un percorso relativo (es. /faq) o un URL completo. Max 2048 caratteri. |
|
| Vista | Controlla su quale dispositivo appare il link. Se lasciato non impostato, il link viene mostrato su tutti i dispositivi (stesso di vdm). Vedi i valori sotto. |
|
| Target | Controlla come si apre il link. Se lasciato non impostato, per impostazione predefinita si apre in una nuova scheda (stesso di blank). Vedi i valori sotto. |
|
| Nascondi durante lo scorrimento | Controlla se il link si nasconde quando il titolo del topic diventa visibile nell’intestazione nelle pagine dei topic. Impostazione predefinita su keep. Si applica solo quando links_position è impostato su right — vedi nota sotto. Vedi i valori sotto. |
|
| Locale | Se impostato, il link viene mostrato solo quando la lingua della pagina del sito corrisponde a questo valore. Lasciare vuoto per mostrare il link su tutte le lingue. Vedi i dettagli sotto. |
Valori di Vista:
| Valore | Comportamento |
|---|---|
vdm |
Visibile sia su desktop che su mobile |
vdo |
Visibile solo su desktop |
vmo |
Visibile solo su mobile |
| (non impostato) | Stesso di vdm — visibile su tutti i dispositivi |
Valori di Target:
| Valore | Comportamento |
|---|---|
blank |
Si apre in una nuova scheda |
self |
Si apre nella stessa scheda |
| (non impostato) | Per impostazione predefinita si apre in una nuova scheda (stesso di blank) |
Valori di Nascondi durante lo scorrimento:
| Valore | Comportamento |
|---|---|
keep |
Il link rimane visibile anche quando il titolo del topic è mostrato nell’intestazione (predefinito) |
remove |
Il link si nasconde quando il titolo del topic diventa visibile nelle pagine dei topic |
![]()
hide_on_scrollsi applica solo quandolinks_positionèright. Quandolinks_positionèleft, tutti i link vengono nascosti insieme nelle pagine dei topic indipendentemente dalla loro impostazione individualehide_on_scroll.
Ecco un esempio di hide_on_scroll in azione (con links_position impostato su right):
Most Liked e Privacy sono impostati su keep, quindi rimangono visibili quando il titolo si espande. Gli altri link sono impostati su remove, quindi si nascondono quando il titolo diventa visibile. Questo comportamento interessa solo le pagine dei topic.
Filtraggio per Locale
Il campo Locale ti permette di mostrare un link solo quando il sito è impostato su una lingua specifica. Questo è utile per community multilingue che desiderano link di intestazione diversi per lingua.
- Imposta il campo su un codice locale come
en,de,fr,zh_CN, ecc. - La corrispondenza è case-insensitive, e sia i separatori
-che_sono trattati allo stesso modo — quindien-US,en_USeen_uscorrispondono tutti ugualmente. - Se il campo locale viene lasciato vuoto, il link viene mostrato su tutte le lingue. Questa è l’impostazione consigliata per la maggior parte dei siti monolingua.
- Viene aggiunta anche una classe CSS
headerLink--{locale}all’elemento link, che può essere utilizzata per un targeting CSS aggiuntivo.
Problema comune: Se i tuoi link non vengono visualizzati, controlla se hai impostato accidentalmente un valore
localeche non corrisponde alla lingua configurata del tuo sito. Lasciare vuoto il campo locale è sicuro e mostrerà sempre il link.
Personalizzazione CSS
Ogni link riceve automaticamente una classe CSS derivata dal suo valore Testo: gli spazi vengono sostituiti con trattini, il testo viene convertito in minuscolo, e viene aggiunto -custom-header-links.
Per esempio:
- Un link con testo
Privacyriceve la classeprivacy-custom-header-links - Un link con testo
Visit Shopriceve la classevisit-shop-custom-header-links
Stilizza tutti i link dell’intestazione:
.custom-header-links .headerLink a {
font-size: var(--font-up-1);
color: var(--header_primary);
}
Stilizza un link specifico (es. un link con testo “Privacy”):
.custom-header-links .headerLink.privacy-custom-header-links a {
color: var(--tertiary);
}
.custom-header-links .headerLink.privacy-custom-header-links a:hover {
color: var(--tertiary-high);
}
Mostra o nascondi un link in base allo stato di accesso:
Discourse aggiunge una classe anon al tag <html> per gli utenti non loggati. Puoi usarlo per mostrare o nascondere condizionalmente i link:
/* Nasconde "Dashboard" agli utenti non loggati */
html.anon .dashboard-custom-header-links {
display: none;
}
/* Nasconde "Sign Up" agli utenti loggati */
html:not(.anon) .sign-up-custom-header-links {
display: none;
}
![]()
display: nonein CSS è un meccanismo di occultamento puramente visivo. L’HTML del link è ancora presente nel sorgente della pagina. Non usarlo per proteggere URL sensibili o soggetti a controllo degli accessi.
Riordina i link con CSS (usando order di flexbox):
.custom-header-links li {
&:nth-child(1) { order: 3; }
&:nth-child(2) { order: 1; }
&:nth-child(3) { order: 2; }
}
Usa il percorso /my per i link specifici dell’utente, per evitare di codificare un nome utente:
/my/messages → la posta in arrivo dell'utente corrente
/my/activity → l'attività dell'utente corrente
Ospitato da noi? I componenti tema sono disponibili per l’uso sui nostri piani Pro, Business e Enterprise.
Novità salienti (Changelog):
- L’impostazione
custom_header_linksè stata migrata da un formato a elenco delimitato da virgole a un’interfaccia utente modulo strutturatatype: objects. Se in precedenza hai configurato i link utilizzando il vecchio input di testo separato da virgole, la migrazione dovrebbe aver preservato automaticamente i tuoi dati
