Ganci per la personalizzazione delle email di riepilogo e notifica

Ho un cliente che vorrebbe includere annunci nelle email di riepilogo e di notifica. Ho “creato” un plugin che consente di aggiungere del testo all’email di digest (che, a mio avviso, necessita di un aggiornamento per allinearsi alle modifiche apportate a quel modello).

Non mi piace dover sovrascrivere l’intero modello per personalizzare queste email.

Sarebbe possibile includere un modo per aggiungere contenuto a queste email senza sovrascrivere il modello?

Il plugin funziona accettando un ID argomento in un campo personalizzato e includendo il raw dell’ultimo post dell’argomento come testo aggiunto all’email (appena prima o dopo l’intestazione). Anche se penso che sia un hack piuttosto intelligente, mi sembra una soluzione un po’ troppo macchinosa da suggerire per l’integrazione nel core. Forse esiste un modo per permettere al plugin degli annunci di applicare annunci interni alle email di digest e di riepilogo?

Gestione di un plugin fragile

Forse dovrei scrivere una specifica che confronta l’email di digest con il plugin disattivato con l’email di digest con il plugin attivato ma non configurato per aggiungere nulla all’email? In questo modo catturerei eventuali modifiche al modello del core?

6 Mi Piace

Ciao Jay

Questo plugin “funziona” con Discourse 3.1? O vale almeno la pena di testarlo?

Puoi provarci. Non credo di aver sentito nulla da loro da questo messaggio, quindi immagino che non abbiano effettuato l’aggiornamento da allora.

Puoi farmi sapere se è rotto. Probabilmente non avrò tempo di sistemarlo gratuitamente, ma potrei farlo.

2 Mi Piace

Per quanto ne so, digest_custom_html e digest_custom_text implementano già hook per digest.html.erb e digest.text.erb. Quindi un’implementazione di base di questa richiesta comporterebbe l’aggiunta di altri hook?

Un’implementazione più avanzata potrebbe fornire sotto-template, che potrebbero essere utilizzati per fornire agli autori di plugin codice di stile e formattazione mantenuto da Discourse.

Ho capito correttamente che la tua implementazione sarebbe possibile con un digest_custom_html("before_preheader") aggiunto a digest.html.erb?

Penso di sì. Non ho esaminato attentamente come funziona da anni.

Ciao @thoka sei riuscito a implementare qualcosa tramite questi hook? Attualmente stiamo cercando di inserire alcuni semplici segmenti sponsorizzati tramite questi hook.

Ho fatto così. Finché generi le tue injection con html_safe, sei a posto.

C’è una discussione su Fixing digest_custom_html to be treated as HTML (was: Overriding digest.html.erb)

2 Mi Piace