| Sintesi | Supporto della community - donazione configurabile | |
| Anteprima | Theme Creator | |
| Repository | GitHub - VaperinaDEV/community-support: Community Support - configurable donation · GitHub | |
| Ti è stato utile? | ./support --coffee | |
| Guida all’installazione | Come installare un tema o un componente di tema | |
| Nuovo ai temi Discourse? | Guida per principianti all’uso dei temi Discourse |
Installa questo componente di tema
Ciao ![]()
L’obiettivo era renderlo abbastanza flessibile da adattarsi a design e casi d’uso della community molto diversi, mantenendo al contempo la configurazione interamente all’interno delle Impostazioni del Tema.
Funzionalità
Modale di donazione / supporto
Il componente può visualizzare facoltativamente una modale di supporto in modo automatico.
La modale automatica supporta:
- ritardo di apertura configurabile
- visibilità basata su URL/percorso
- visibilità per membri/utenti anonimi
- livello di fiducia minimo
- gruppi esclusi
- durata del cookie di chiusura configurabile
- tre dimensioni della modale:
normal,large,maximized
La modale può anche essere aperta manualmente da qualsiasi punto utilizzando:
#donate
Questo è intenzionalmente indipendente dalle regole di visibilità automatica, in modo che una community possa condividere un link #donate o aggiungerlo alla barra laterale, continuando a controllare dove appaiono le richieste di supporto automatiche.
Metodi di donazione / supporto
Possono essere configurati più metodi di supporto utilizzando l’editor di impostazioni Oggetti di Discourse.
Ogni metodo può avere:
- nome
- descrizione
- provider
- proprietario
- icona
- URL
- testo del pulsante
- valore copiabile
- stato in evidenza
- traduzioni
Questo è indipendente dal provider, quindi il componente non richiede un provider di pagamento specifico.
Ad esempio, un metodo può semplicemente puntare a una pagina di pagamento/ supporto esistente su PayPal, Revolut, Wise o altro.
Localizzazione per metodo
I metodi di donazione supportano le proprie traduzioni.
Il selettore di lingua include le lingue disponibili su Discourse e ogni metodo può avere tradotti:
- nome
- descrizione
- testo del pulsante
- etichetta di copia
- proprietario
- provider
Se una lingua esatta non è disponibile, il componente ricorre alla lingua base e poi all’inglese o a un’altra traduzione disponibile.
Obiettivo di supporto e barra di avanzamento
Il componente include un obiettivo di supporto facoltativo e una barra di avanzamento.
Puoi configurare:
- importo attuale
- importo target
- valuta
- etichetta di supporto
- periodo di supporto
- visualizzazione dell’avanzamento
- posizione in cui appare la barra di supporto
Periodi supportati:
- una tantum
- mensile
- annuale
La barra di avanzamento gestisce anche il superamento dell’obiettivo.
Invece di fermarsi semplicemente al 100%, viene continuato a visualizzare la percentuale effettiva:
75% → avanzamento normale
100% → obiettivo raggiunto
125% → 25% nel prossimo ciclo di obiettivo
220% → 20% nel terzo ciclo di obiettivo
La barra di avanzamento visiva rimane una singola barra compatta.
Prima del primo obiettivo:
background: tertiary-low
fill: tertiary
Esattamente al 100%, 200%, 300%, ecc.:
background: success
fill: success

Tra le pietre miliari:
background: success-low
fill: success

Questo significa che una community può continuare a mostrare un avanzamento significativo anche quando supera notevolmente il suo obiettivo originale.
Avatar dei sostenitori
La barra di supporto può visualizzare facoltativamente gli avatar dei sostenitori.
I sostenitori sono attualmente configurati manualmente tramite l’impostazione Oggetto supporters.
Ogni sostenitore può avere:
- nome utente
- importo del contributo
- valuta
Il nome utente viene risolto rispetto al profilo utente, in modo che le informazioni del profilo/avatar dell’utente possano essere visualizzate automaticamente.
Il numero di avatar mostrati direttamente nella barra di supporto è configurabile.
Ad esempio:
◉ ◉ ◉ ◉ ◉ +8
Se ci sono più sostenitori rispetto al numero di avatar visibili configurato, i sostenitori rimanenti sono accessibili tramite un DMenu.
Il menu dei sostenitori può visualizzare:
- avatar
- nome utente
- link al profilo
- importo del contributo
- valuta
Gli importi dei contributi possono essere abilitati o disabilitati in modo indipendente.
I sostenitori possono anche essere popolati da uno o più gruppi utilizzando l’impostazione supporter_groups. Questo completa l’elenco dei sostenitori configurato manualmente anziché sostituirlo.
Più design
Il componente include tre design visivi indipendenti:
- Classic: presentazione equilibrata in stile community
- Minimal: cornici visive ridotte e presentazione compatta
- Modern: gerarchia più forte e card più prominenti
Il design è indipendente dalla vista selezionata, quindi i due possono essere combinati liberamente.
Più viste
Il componente supporta diverse modalità di presentazione:
- Full: contenuto di supporto completo con hero, metodo in evidenza e metodi di donazione
- Compact: presentazione ridotta per posizionamenti più piccoli
- Minimal: presentazione focalizzata sui metodi
- Progress: solo obiettivo di supporto e avanzamento
Questo consente di utilizzare lo stesso componente in posizioni molto diverse senza duplicare configurazione o stili.
Incorporamenti nei post
Il contenuto di supporto può essere incorporato direttamente nei post.
Abilita enable_post_embed, quindi usa:
[wrap=donate]
[/wrap]
Viste aggiuntive sono disponibili direttamente tramite il wrapper:
[wrap=donate-compact]
[/wrap]
[wrap=donate-minimal]
[/wrap]
[wrap=donate-progress]
[/wrap]
Il wrapper controlla la vista, mentre l’impostazione globale design controlla il design visivo.
Questo è utile quando il contenuto di supporto deve essere parte del contesto di un particolare post anziché apparire come un elemento di interfaccia globale.
Supporto per gli outlet dei plugin
Il componente può rendere il widget di supporto tramite gli outlet dei plugin.
Abilita outlet_enabled e specifica i nomi degli outlet desiderati in outlet_locations, separati da |.
La vista e il design dell’outlet possono essere configurati in modo indipendente:
outlet_viewoutlet_design
Questo rende possibile utilizzare il componente di supporto in posizioni come elenchi di argomenti, intestazioni, piè di pagina e altri outlet supportati.
Compatibilità con Discourse Ads
Il componente può essere utilizzato anche con il plugin Discourse Ads.
Invece di dipendere direttamente dal plugin Ads, Community Support fornisce un marcatore di incorporamento HTML stabile:
<div data-donation-widget="support"></div>
Questo può essere copiato in un annuncio HTML e posizionato nell’outlet Ads desiderato.
Il componente possiede il markup e il CSS, quindi non c’è bisogno di duplicare lo stile della donazione all’interno dell’annuncio stesso.
La vista e il design possono essere sovrascritti facoltativamente:
<div
data-donation-widget="support"
data-view="compact"
data-design="minimal"
></div>
Questo significa che lo stesso sistema di supporto può essere riutilizzato in diversi posizionamenti Ads mantenendo un design coerente.
Incorporamenti HTML generici
Lo stesso meccanismo di incorporamento può essere utilizzato anche in altre posizioni con supporto HTML:
<div data-donation-widget="support"></div>
Il marcatore HTML rimane intenzionalmente semplice, mentre il Componente di Tema gestisce il rendering effettivo.
Questo rende possibile cambiare il design o l’implementazione del componente senza dover riscrivere ogni singolo incorporamento.
Controlli di visibilità
Il contenuto di supporto automatico e renderizzato globalmente può essere controllato tramite diverse impostazioni:
- Mostra per i membri
- Mostra per gli utenti anonimi
- Livello di fiducia minimo
- Gruppi esclusi
- Visualizza nella homepage
- Corrispondenza URL/percorso
I gruppi esclusi vengono applicati al contenuto di supporto renderizzato automaticamente, come la modale, i widget degli outlet dei plugin e gli incorporamenti generici.
Il contenuto contestuale rimane disponibile:
#donate[wrap=donate]
Questo rende possibile escludere determinati utenti dall’interfaccia di supporto promozionale/automatica senza impedirgli di accedere a un link di supporto condiviso esplicitamente o a un blocco di supporto contestuale.
Controllo di chiusura / cookie
Quando la modale aperta automaticamente viene chiusa, il componente può ricordare tale decisione.
La durata del cookie può essere configurata come:
- nessuna
- minuto
- giorno
- settimana
- mese
- anno
Questo impedisce alla modale automatica di apparire ripetutamente allo stesso visitatore secondo la durata selezionata.
Esempi di base
Aprire la modale di supporto
#donate
Incorporare il contenuto di supporto in un post
[wrap=donate]
[/wrap]
Versione compatta del post
[wrap=donate-compact]
[/wrap]
Incorporamento HTML generico
<div data-donation-widget="support"></div>
Incorporamento con presentazione personalizzata
<div
data-donation-widget="support"
data-view="compact"
data-design="minimal"
></div>





