Sto utilizzando Banner Themes (https://meta.discourse.org/t/banner-themes-and-instructions-for-customizing-them/82368) per mostrare del contenuto HTML agli utenti anonimi. Principalmente per invitarli a creare un account.
Sto cercando di aggiungere un “registrati” nel mezzo del mio contenuto. In generale è stato piuttosto semplice creare un pulsante e, al click, reindirizzare a .xyz Domain Names | Join Generation XYZ gestendolo come un normale reindirizzamento web. [O tramite JS / semplice invio di un ‘form’ / reindirizzamento href, ecc…]
Ho cercato di vedere se potevo utilizzare un modo più “nativo di Discourse” per eseguire questa azione. Ho seguito attentamente la Guida per gli sviluppatori ai temi di Discourse. Tra widget, controller e componenti, mi sono imbattuto in una domanda:
Qual è il modo più diretto, utilizzando JavaScript (all’interno di uno script type=“text/discourse-plugin”), per “mostrare il modale di registrazione”? Per essere molto chiaro, sto cercando di eseguire questo al di fuori di uno script handlebars come questo:
{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}
In definitiva qualcosa del genere… Sto cercando di capire cosa sostituire con il grassetto:
<script type="text/discourse-plugin"version=“0.8.18”>
document.getElementById(“showCreate”).onclick = function() {
{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}
}
</script>
Tutto ciò che ho provato genera errori diversi, ma principalmente perché non comprende l’“action”. Ho cercato su Meta e, sebbene ci siano molti esempi su come creare un nuovo widget o posizionarlo altrove, non ho trovato un modo per farlo in modo nativo. Qualsiasi aiuto sarebbe molto apprezzato.
(ps. Non sto dicendo che questo sia il modo migliore o necessario per far funzionare le cose, ma mi aiuterebbe molto a capire come l’intera applicazione è strutturata)
Grazie!