Barra degli strumenti sotto l'intestazione del sito per categoria

https://meta.discourse.org/t/welcome-link-banner/218743/28

Ciao, mi stavo chiedendo se avessi visto la mia richiesta di funzionalità?

https://meta.discourse.org/t/welcome-link-banner/218743/73?u=heliosurge

Oppure, in alternativa, un componente tematico che permetta di “ancorare” una barra degli strumenti sotto la barra principale del sito quando si visualizza una categoria specifica? Poiché è quello che sto cercando più specificamente. Potrebbe essere qualcosa come i collegamenti personalizzati dell’intestazione di Joe, ad esempio.

Qualsiasi guida, anche modificando il comportamento di un componente tematico esistente per raggiungere questo obiettivo, sarebbe fantastica.

Mi scuso, sono ancora molto un principiante che impara man mano.

1 Mi Piace

Ciao!

Potresti essere un po’ più specifico riguardo alle tue esigenze? Cosa vuoi mettere esattamente sotto l’intestazione di Discourse?

Il modo standard per inserire “qualsiasi cosa” sotto l’intestazione è nella scheda Dopo l’intestazione quando modifichi un tema o un componente:

Ma sembra che tu stia pensando a qualcosa di più dinamico e/o più complesso.

Più informazioni fornisci, più utili saranno le risposte :slight_smile:

1 Mi Piace

Grazie per la risposta rapida.

Per essere molto chiari e specifici, qualcosa come i collegamenti personalizzati dell’intestazione di Johani (icona) sarebbe quasi perfetto.

Detto questo, lo scopo è avere idealmente una barra degli strumenti con un logo cliccabile e poi un paio di menu a tendina.

Ad esempio, il forum ha uno sponsor che possiede la Categoria A con 2 sottocategorie. Quando gli utenti visualizzano la Categoria A o le sue sottocategorie, una barra degli strumenti è ancorata sotto l’intestazione del sito. Con collegamenti per quella società.

ad es. link allo store, supporto, link alla community.

I collegamenti personalizzati nell’intestazione custom header links sono un componente del tema piuttosto semplice e penso che sarebbe un buon punto di partenza utilizzare la stessa base di codice ma posizionare l’elenco dei collegamenti altrove.
Detto questo, non supporta i sottomenu, che sarebbero più difficili da aggiungere.

Un altro approccio sarebbe creare un componente senza impostazioni, utilizzando solo HTML, CSS (e forse un po’ di JS). Sarebbe quindi una personalizzazione piuttosto “statica” e se fosse necessario apportare modifiche, si dovrebbe modificare il codice HTML e CSS appropriato.

Ecco un esempio che ho creato per il mio forum:

E come appare nelle personalizzazioni del sito:

Un modo del genere sarebbe sufficiente per le tue esigenze, o preferisci qualcosa di più facile da modificare dal lato amministratore come il componente custom header links con diversi input, come questo?

Qualcosa come i collegamenti dell’intestazione personalizzata potrebbe essere più facile finché non avrò più esperienza. o forse una guida per creare un componente separato che, ad esempio, prenda di mira e sovrascriva qualcosa come il componente dei collegamenti dell’intestazione personalizzata di Johani per cambiare il comportamento in sotto l’intestazione (potrebbe esserci già un’opzione per questo) con sovrascritture per utilizzare la categoria padre corrente.

Tuttavia, se ci sono 2 sponsor, dovrei sapere se è possibile installare il componente due volte rinominando il componente e puntando al componente per nome.

cioè

  1. (A) Collegamenti dell’intestazione personalizzata
  2. (B) Collegamenti dell’intestazione personalizzata

Se non erro, c’è un componente del tema che aggiunge una barra laterale basata sulla categoria? ma una barra laterale non funzionerebbe in quanto solo desktop. quindi è necessaria una barra superiore.

So che posso esportare e poi importare da uno zip per modificare il codice. Ma avrei bisogno di una guida su cosa cambiare se seguissi questa strada. Sono disposto a provare.

Ora potrebbe essere più facile lavorare su un tema-componente personalizzato
come hai menzionato per semplificare questo con alcuni semplici dopo il codice dell’intestazione che mira alla categoria mostrando semplici link usando un’immagine qua e là per i link principali con un link della community che va a un post o a una pagina pubblicata?
Voglio ancora ringraziarti per il tuo tempo e la condivisione della conoscenza.

Ecco un esempio pratico che ho creato per te:

Ecco l’HTML che ho inserito nella scheda After Header

<div id="category-general-banner" class="below-header-banner">
    <h2>🚀 Ecco alcuni contenuti visualizzati solo nella categoria <strong>Generale</strong></h2>
</div>

<div id="category-site-feedback-banner" class="below-header-banner">
    <h2>✨ Ecco alcuni contenuti visualizzati solo nella categoria <strong>Feedback sul sito</strong></h2>
</div>

Ecco l’SCSS che ho inserito nella scheda CSS (Discourse utilizza SCSS che estende le funzionalità CSS):

$category_classes: "general", "site-feedback";

.below-header-banner {
    display: none;
}

@each $cat in $category_classes {
    body.category-#{$cat} {
        #category-#{$cat}-banner.below-header-banner {
            display: block;
        }
    }
}

Ecco il risultato. Ogni banner appare solo nella sua rispettiva categoria.

Spero che questo ti sia d’aiuto!

1 Mi Piace

È assolutamente perfetto! Grazie mille!

Con questo codice di base verrà comunque visualizzato se in una sottocategoria del genitore? o devo aggiungere le sottocategorie alla condizione?

Dovrei davvero copiare e incollare e risponderti. Dato che sei stato molto gentile con tutto il tempo che hai condiviso aiutandomi.

:vulcan_salute::smiling_face_with_sunglasses::handshake:

1 Mi Piace

Le sottocategorie hanno una propria classe nel tag body.

Ad esempio, in WordPress - Discourse Meta, Support > WordPress è una sottocategoria di Support.

La classe della categoria su <body> è: category-support-wordpress.

Se desideri che il banner venga visualizzato anche nelle sottocategorie oltre che nel loro genitore, il codice SCSS dovrebbe essere diverso. Posso dare un’occhiata domani.

1 Mi Piace

Fantastico! Grazie ancora per aver condiviso la ricchezza delle tue conoscenze e per avermi dato un ottimo inizio.

Sei sicuramente una risorsa preziosa per il tuo team! :clinking_beer_mugs::smiling_face_with_sunglasses::vulcan_salute:

2 Mi Piace

Mi scuso per la mia inesperienza. Ma posso contare ancora una volta su di te?


<div id="pimax-navbar">
 <span id="pimax-top-links">
 <ul class="pimax-nav-link-container">
   <li><b><a href="//pimax.com/pages/pitool/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=pitool_button" class="pimax-link">Pitool</a></b></li>
   <li><b><a href="//www.pimax.com/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=brandsite_button" class="pimax-link">Store</a></b></li>
   <li><b><a href="//support.pimax.com/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=support_button" class="pimax-link">Support</a></b></li>
</ul>
</span>
</div>

Come posso combinare questo con il tuo esempio? E ottenere anche i link che si estendono da sinistra a destra? Invece che impilati uno sull’altro?

In sostanza, prenderesti questo codice e lo inseriresti nel mio codice in sostituzione del tag <h2> e del suo contenuto. Ma ti suggerirei di perfezionare e adattare questo codice alle tue esigenze, non di copiarlo e incollarlo semplicemente.

Per quanto riguarda l’avere l’elenco degli elementi inline invece che uno sopra l’altro, ci sono molti modi in CSS per farlo… Molti di essi sono piuttosto semplici, ma poi usciamo un po’ dall’ambito dell’aiuto che forniamo qui. Vedi questa spiegazione:

In questo tipo di casi riguardanti cose HTML e CSS generali, non direttamente correlate a Discourse, potresti trovare informazioni qui: Making custom CSS changes on your site
E praticamente ovunque su Internet. Ad esempio:

Google Search

Detto questo, quali sono le tue attuali competenze con HTML e CSS?
Sapere un po’ di più su questo aiuterebbe a scrivere risposte più mirate. :slight_smile:

1 Mi Piace

Se devo essere onesto con me stesso e con chi mi circonda. Sono un appassionato principiante. Ho avuto qualche esperienza di programmazione al liceo con gwbasic e turbo pascal. Ho preso l’iniziativa di usare un’app per imparare html e CSS e ho avuto qualche successo. Tuttavia, niente di alto livello.

Ad esempio, qualcuno ha condiviso un esempio di codice per nascondere una categoria dal menu hamburger. Ha funzionato bene, ma era un sacco di codice per nascondere tutte quelle che volevo. Questo è stato prima del tema-componente “Category Hider”, anche se ho contribuito con un’idea per avere un’opzione per nascondere tutte le sottocategorie, a cui un membro della community ha condiviso un codice di 1 o 2 righe che nascondeva tutte le sottocategorie. lol

Questo è stato molto più efficiente che non puntare a ciascuna singolarmente per nasconderla. :wink:

Tuttavia, ora ho avuto un discreto successo modificando il banner Welcome Link confrontando le impostazioni.yml con le Modern Category boxes, a memoria, le impostazioni.yml scambiando la prima impostazione con una che punta all’elenco delle categorie rispetto alla scoperta. Tuttavia, sembra che debba ancora confrontare un paio di file per vedere dove l’impostazione ha effetto. Poiché posso aggiungere categorie alla prima impostazione, ma non sembra ancora funzionare.

So che devo leggere di più e usare un IDE migliore del mio cellulare per far evolvere veramente la mia comprensione e consapevolezza. Ci arriverò, ho solo bisogno di avere l’umiltà e la concentrazione per farlo.

Per questo sono veramente grato di avere questa grande e comprensiva community che spesso, quando richiesto, mi ha dato la guida di cui ho bisogno con un alto livello di pazienza che molti non darebbero.

So che studiando il codice e prendendomi del tempo, ci arriverò. Sono troppo testardo per non farlo.

Uso linux e ora ho configurato il mio desktop per facilitare le cose. Inoltre, devo vedere come il lato desktop del design e il mobile creano un design ben bilanciato. Sto imparando cose nuove continuamente. Sto basando il nucleo sul tema Air poiché è un ottimo punto di partenza.

1 Mi Piace

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