Benvenuto Banner Link

Sto facendo dei test (da mesi… non chiedete).

Tornandoci sopra - sembra che da un aggiornamento, la barra di benvenuto ora appaia solo quando l’utente è disconnesso.

C’è un modo per far apparire la barra per tutti, indipendentemente dallo stato di accesso?

Grazie

Martyn

1 Mi Piace

L’ho appena testato un po’ e non vedo questo problema, è possibile che tu abbia chiuso il banner cliccando sulla x nell’angolo? in tal caso dovresti cancellare la localStorage del tuo browser per vederlo di nuovo.

3 Mi Piace

Ottima idea, ci darò un’occhiata
Grazie

Ho provato a svuotare localstorage - ho provato a svuotare i dati del browser - ho provato su Edge (mi ci vorranno settimane per ripulirmi!) … ancora niente :frowning:

Come hai configurato le impostazioni max trust level e hide for staff?
Hai provato con un nuovo utente creato per il test?

3 Mi Piace

Vorrei rendere visibili banner diversi per utenti registrati e non registrati o non dovrebbero essere visibili tutti i link del banner per gli utenti non registrati. È possibile?

1 Mi Piace

@Aurora

Un modo sarebbe creare link per gli utenti connessi e seguire i link per gli utenti disconnessi (in ordine, in modo da avere due gruppi di link).

Poi, con un po’ di CSS, nascondi un gruppo o l’altro.
C’è una classe CSS anon che potresti usare.

Ad esempio, supponiamo che tu abbia due link per gli utenti connessi e 3 per gli utenti disconnessi:

  • link utente connesso 1
  • link utente connesso 2
  • link utente disconnesso 1
  • link utente disconnesso 2
  • link utente disconnesso 3

In CSS, puoi fare:

/* Utenti disconnessi: Nasconde i primi due link */
html.anon .featured-banner-link > div:nth-child(-n+2) {
    display: none !important;
}

/* Utenti connessi: Nasconde gli ultimi tre link */
html:not(.anon) .featured-banner-link > div:nth-last-child(-n+3) {
    display: none !important;
}

Funzionerebbe per te?

5 Mi Piace

Sì! Grazie mille! È molto utile!

3 Mi Piace

Nell’area dei link, nel campo icona, non sarebbe possibile avere l’autocompletamento per facilitare la ricerca dell’icona desiderata?

Se non fosse possibile, almeno includere un link diretto al sito web di FontAwesome renderebbe più ovvio che quello è il provider delle icone, oltre a indirizzare direttamente alla fonte.

Ad esempio, ho scaricato il componente e l’ho installato, poi quando stavo creando il link ho dovuto tornare a questo argomento per rileggerlo per poi sapere che si trattava di FontAwesome. Solo un suggerimento per rendere più veloce e facile l’aggiunta di icone.

MODIFICA: Ho usato il nome sul loro sito web, ma non aggiunge le icone:

Ad esempio questa:

image

che sembra essere gratuita:

Quindi quali dovremmo usare?

Ho anche notato un problema con il riassunto qui in questo argomento. Dice Welcome Link Banner è un semplice banner che ti permette di aggiungere testo personalizzato e 1-4 link, ma in realtà mi permette di aggiungere altri link. Sono riuscito ad aggiungerne 6 (e se continuo a cliccare continua ad aggiungerne altri).

Se 4 è effettivamente l’obiettivo, allora credo che sarebbe meglio se dopo aver aggiunto il quarto link, il + banner link scomparisse o diventasse grigio.

1 Mi Piace

Concordo sul fatto che sarebbe utile. Tuttavia, questo non è specifico di questo TC. Alcuni tipi di input non sono disponibili in TC rispetto a core/plugin.

Vedrò se riesco a fare una PR per migliorare la descrizione.

Potrebbe anche essere necessario aggiungere icone non incluse in Discourse per impostazione predefinita all’impostazione svg_icons

Questo dovrebbe essere il tuo problema.

Sì, puoi aggiungerne quanti ne vuoi. Non c’è limite.
Ciò implica che è progettato per funzionare al meglio con 1-4 link.

2 Mi Piace

grazie

Oh, non sapevo che non caricasse tutte le icone disponibili. Pensavo leggesse direttamente dal sito FA. Ho aggiunto un’icona che non veniva caricata ed ora è visibile. Grazie mille.
Come posso vedere quali sono disponibili? C’è un elenco o devo aggiungerle e vedere se non vengono visualizzate, e poi aggiungerle?

Capisco. Penso che sia la formulazione allora. Magari qualcosa del tipo
Il banner di benvenuto con link è un semplice banner che ti permette di aggiungere testo e link personalizzati (consigliato: fino a 4 link). o qualcosa del genere.

Grazie mille per il tuo aiuto. Sono contento che le icone siano ora visibili! :slight_smile:

2 Mi Piace

Sì, quello sarebbe il modo più semplice.

2 Mi Piace

\n\u003e L’aggiornamento del tema "Welcome Link Banner" ha causato un errore di compilazione SCSS e il crash del sito\n\n\nCiao,\n\nHo recentemente riscontrato un problema critico durante l’aggiornamento del tema "Welcome Link Banner" sul mio forum Discourse.\n\n### :stop_sign: Riepilogo del problema:\n- Dopo aver aggiornato il tema, il sito è andato immediatamente in crash.\n- Anche la modalità provvisoria (/safe-mode) non era accessibile.\n- L’errore registrato è stato:\n\n\nCssSyntaxError: Missed semicolon in common.scss (MiniRacer::RuntimeError)\n\n- Questo errore SCSS ha impedito a Discourse di compilare gli asset, causando il fallimento completo del frontend.\n\n### :magnifying_glass_tilted_left: Causa principale:\n- Il file common.scss aggiornato all’interno del tema "Welcome Link Banner" presentava un errore di sintassi (mancanza del punto e virgola ;).\n- Di conseguenza, la compilazione degli asset è fallita e Discourse non è riuscito a servire nemmeno l’interfaccia utente di base.\n\n—\n\n### :hammer_and_wrench: Come l’ho risolto:\nPoiché non potevo accedere all’interfaccia web (nemmeno alla Modalità Provvisoria), ho dovuto risolverlo manualmente:\n\n1. Ho effettuato l’accesso al server tramite SSH.\n2. Sono entrato nel container dell’app:\n\n bash\n ./launcher enter app\n \n\n3. Ho aperto la console Rails:\n\n bash\n RAILS_ENV=production rails c\n \n\n4. Ho disabilitato il tema difettoso:\n\n ruby\n Theme.where(name: \"Welcome Link Banner\").update_all(enabled: false)\n \n\n5. Sono uscito dalla console Rails.\n6. Ho pulito tutti gli asset compilati:\n\n bash\n RAILS_ENV=production rake assets:clobber\n \n\n7. Ho ricostruito l’app:\n\n bash\n ./launcher rebuild app\n \n\nDopo questi passaggi, il forum è tornato online.\n\n—\n\n### :light_bulb: Suggerimento:\n- Forse aggiungere un controllo aggiuntivo della sintassi SCSS durante il caricamento/aggiornamento del tema, prima di applicare il tema ai siti di produzione.\n- Questo potrebbe aiutare a evitare crash completi del sito causati da piccoli errori CSS.

1 Mi Piace

È strano. Non manca nessun punto e virgola nel CSS per questo componente.
Non vedo nemmeno una modifica nella cronologia. :thinking:

A proposito, se /safe-mode non funziona, puoi provare ad aggiungere direttamente ?safe_mode=no_themes all’URL.

3 Mi Piace

Ho controllato anch’io e non vedo questo problema, il componente è stato personalizzato? o forse qualcosa è andato storto nel processo di aggiornamento?

1 Mi Piace

Potrebbe entrare in conflitto con un altro componente che sto sviluppando

2 Mi Piace

1 - Ho rimosso il banner, ma voglio testare alcune cose, quindi ho bisogno di farlo riapparire. Come?
2 - Ho notato che almeno su mobile, quando mi trovo nella pagina dei Canali, il banner distrugge completamente l’intero layout:

3 - È possibile escludere il banner da determinate pagine, oltre a utilizzare il CSS? Sono consapevole che c’è il menu a tendina con homepage,discovery,all, ma è troppo limitato.

Penso che svuotare la cache possa aiutare, perché è memorizzata in localStorage:

L’ho fatto:

ma non ha funzionato. Sto usando Cloudflare e ho avuto problemi con la loro cache. Dovrei aspettare ancora un po’, o dato che è localStorage, non è correlato?

Non sono un esperto in materia. Sto solo ipotizzando…

C’è un modo per rimuoverlo tramite la finestra degli strumenti per sviluppatori? Ricordo di aver cancellato alcune cose lì a un certo punto mentre lavoravo su un sito web.

Aggiornamento: Ho chiesto a ChatGPT di aiutarmi secondo la tua risposta e ho ottenuto questo:

La pulizia della cache del browser non influisce su localStorage, che è dove viene memorizzato lo stato di dismiss. Devi rimuovere manualmente l’elemento da localStorage.

Fai questo:

  1. Apri il sito di Discourse.

  2. Premi F12 o fai clic destro → Ispeziona per aprire gli Strumenti per sviluppatori.

  3. Vai alla scheda Console.

  4. Incolla questo e premi Invio:

    localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");
    
  5. Aggiorna la pagina.

Questo reimposterà lo stato di dismiss e il Banner di Benvenuto dovrebbe apparire di nuovo.


Poi ho chiesto se potevo farlo anche manualmente, e sì, posso, andando nella scheda Application, poi nella barra laterale andando su Storage > Localstorage e cancellando la “voce”:

image


Permettimi di ringraziarti per avermi indicato la giusta direzione!

Quindi ora la mia domanda è: se questo è il modo in cui lo faccio sul mio desktop, come posso farlo su mobile? ChatGPT ha detto che potevo aggiungerlo alla barra degli indirizzi e “eseguirlo”, ma non ha aiutato:

javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");

EDIT: ha funzionato! Stavo facendo la cosa sbagliata. ChatGPT ha chiarito ora che dovevo aprire il forum, poi su quella stessa scheda, eseguire javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");, non su una nuova scheda, che è quello che stavo facendo.

Ancora, grazie per la tua risposta, perché ha decisamente aiutato a restringere il campo. :raising_hands:

1 Mi Piace