Come controllare l'ordine delle sezioni del menu nella barra laterale?

Ciao a tutti,

Sto riscontrando un problema con il menu della barra laterale nel mio forum Discourse. L’ordine delle sezioni sembra fisso: ad esempio, quando creo sezioni personalizzate aggiuntive, appaiono sempre sopra la sezione “Categorie”.

Per la mia community, sarebbe importante avere quelle sezioni personalizzate sotto le categorie invece, ma non riesco a trovare alcun modo per cambiare o controllare questo ordine.

C’è un modo per gestire la posizione delle sezioni della barra laterale, o al momento non è possibile personalizzare la gerarchia/l’ordine di questi blocchi?

Grazie in anticipo per qualsiasi indicazione!

2 Mi Piace

Ciao, puoi controllare l’ordine delle sezioni della barra laterale con CSS. Aggiungi semplicemente un nuovo componente con del codice CSS simile al seguente. Vai su admin -> temi e componenti -> componenti e crea un nuovo componente locale

e aggiungi questo codice nella scheda CSS, dove custom-section-name è il nome slug di una sezione del menu personalizzata:

.sidebar-wrapper {
  .sidebar-custom-sections {
    display: contents;
  }
  [data-section-name="community"] {
    order: -4;
  }
  [data-section-name="categories"] {
    order: -3;
  }
  [data-section-name="tags"] {
    order: -2;
  }
  [data-section-name="custom-section-name"] {
    order: -1;
  }
}
screenshot della scheda CSS

Dovrai modificare i numeri e aggiungere sezioni personalizzate al codice sopra per soddisfare le tue esigenze specifiche. Avrà un aspetto simile a questo:

4 Mi Piace

Grazie! Avevo appena trovato e implementato questo, ma non funzionava sul cellulare

qui era già stato un problema, ma anche questo non funziona

La classe sidebar-wrapper su mobile è sostituita da sidebar-hamburger-dropdown, credo. Quindi aggiungerla dovrebbe farla funzionare anche su mobile:

.sidebar-wrapper, 
.sidebar-hamburger-dropdown { 
  .sidebar-custom-sections {
    display: contents;
  } 
  [data-section-name="community"] {
    order: -4;
  }
  [data-section-name="categories"] {
    order: -3;
  }
  [data-section-name="tags"] {
    order: -2;
  }
  [data-section-name="custom-section-name"] {
    order: -1;
  }
}
3 Mi Piace

Grazie! L’ho appena provato, ma purtroppo non ha funzionato. :folded_hands:

Oh giusto, un altro dettaglio: la barra laterale non sta usando flex su mobile, apparentemente. Quindi dovrai aggiungerlo anche tu.

.sidebar-sections {
display: flex;
flex-direction: column;
}
6 Mi Piace

Grazie mille!! Funziona!! Fantastico!

1 Mi Piace

Il nome dell’intestazione della mia sezione personalizzata contiene uno spazio, ad esempio “Aiuta gli utenti”.

Ho provato a usare data-section-name="aiuta gli utenti", ma non funziona.

Come posso specificare lo spazio? È necessaria qualche maschera qui?
Per favore, aiutami

MODIFICA:
Dopo aver ispezionato il sito usando gli strumenti di sviluppo di FF, ho scoperto che la soluzione è “aiuta-utenti”.

3 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.