Ciao a tutti, spero di pubblicare nel posto giusto. Sto cercando di sviluppare un plugin per il mio nuovo sito web Discourse.
Ho fatto un fork del repository di esempio qui, ho fatto funzionare un Plugin Outlet, poi ho colpito un muro e ho iniziato a sentirmi piuttosto perso e confuso. Sto iniziando a prendere confidenza con i framework MVC PHP come Laravel, ma sono MOLTO nuovo ai framework JS. Non ho mai toccato Ruby, Rails o Ember prima d’ora.
Il Problema
Il mio sito web è per una comunità HOA. Quello che sto cercando di fare è raccogliere e salvare alcuni campi dati aggiuntivi per utente:
legal_name(stringa)is_owner(booleano)is_resident(booleano)building(stringa) - che rappresenta il numero del loro edificiounit(stringa) - che rappresenta il numero della loro unità- … e alcune altre variabili interne, come se un moderatore li ha confermati.
Voglio rendere questi campi obbligatori per la registrazione dell’utente. Ciò significa modificare il modulo di registrazione dell’utente. Mi sono agganciato all’outlet create-account-after-password e ho fatto visualizzare alcuni campi aggiuntivi, ma ovviamente questo non li rende funzionali.
Penso di dover estendere il controller in app/assets/javascripts/discourse/app/controllers/create-account.js, non solo per catturare i nuovi valori del modulo quando vengono inviati, ma anche per qualcosa di (apparentemente) basilare come usare il nome del sito this.siteSettings.title in un campo di traduzione client.en.yml! (Al momento i campi aggiuntivi nel mio modulo di registrazione sono intestati, “Qual è la tua connessione a [valore %{title} mancante]?” Il che ovviamente non va bene.)
Più cercavo risposte, più domande avevo e più diventavano grandi. Diverse guide che ho provato a seguire erano apparentemente scritte per versioni diverse di Discourse. Il repository di esempio del plugin ha cose che non capisco. Qual è la differenza tra una rotta lato client e una rotta lato server? Qual è la differenza tra un plugin e un modulo? Sono così perso.
Se qualcuno potesse offrire un aiuto, sarò molto grato. Grazie in anticipo.
