Supporto della community - donazione configurabile

:information_source: Sintesi Supporto della community - donazione configurabile
:eyeglasses: Anteprima Theme Creator
:hammer_and_wrench: Repository GitHub - VaperinaDEV/community-support: Community Support - configurable donation · GitHub
:heart: Ti è stato utile? ./support --coffee
:question: Guida all’installazione Come installare un tema o un componente di tema
:open_book: Nuovo ai temi Discourse? Guida per principianti all’uso dei temi Discourse

Installa questo componente di tema

Ciao :waving_hand:

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.

:sparkles: Funzionalità

:heart: 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.


:credit_card: 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.


:globe_showing_americas: 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.


:bar_chart: 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

Screenshot 2026-09-14 at 7.39.26

Tra le pietre miliari:

background: success-low
fill:       success

Screenshot 2026-09-14 at 7.39.52

Questo significa che una community può continuare a mostrare un avanzamento significativo anche quando supera notevolmente il suo obiettivo originale.


:bust_in_silhouette: 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.


:artist_palette: 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.


:puzzle_piece: 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.


:notebook: 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.


:electric_plug: 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_view
  • outlet_design

Questo rende possibile utilizzare il componente di supporto in posizioni come elenchi di argomenti, intestazioni, piè di pagina e altri outlet supportati.


:loudspeaker: 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.


:globe_with_meridians: 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.


:eyes: 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.


:cookie: 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.


:memo: 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>

:heart: ./support --coffee

8 Mi Piace

Bello, e senza dubbio molto necessario oggi.

E al tempo stesso sono piuttosto amaro vivendo in un paese dove raccogliere donazioni in quel modo è illegale. Noi in Finlandia dobbiamo vendere qualcosa — o correre un rischio. Certo, completamente fuori tema.

2 Mi Piace