Ciao a tutti.
Sono nuovo di questo magico framework, più in generale sono nuovo del paradigma “stretto” MVC ma vedo che mi sta piacendo Noto con piacere dell’esistenza di una piccola community italiana, speriamo di riuscire a darci una mano.
Veniamo al dunque: vorrei estendere il modulo Yiiuser, ma non solo, per rendere maggiormente astratta la messaggistica automatica in modo da avere, ad esempio per la conferma dell’utente, non solo un messaggio il cui testo è embedded nel codice, ma venga tratto da una tabella di un db.
la tabella tbl_message_templates (ad es.) potrebbe avere:
id|subject|nessage
ed avere in message
Gentile {NomeCognome},
grazie per essersi iscritto in {NomeApp}
ecco il link per attivarsi {link}
e blabla bla…
In pratica, nel caso di yiiuser, il controller all’atto della spedizione della mail di conferma, compone un messaggio a partire da un template e sostituisce i valori sulla base dei valori compilati dall’utente e validati da Yii. Compilato il messaggio lo ripassa al mailer che si occupa di spedire il tutto all’utente che si sta registrando.
Mi sono reso conto che così facendo ho un controller che riceve i dati da un altro controller, anche se potrebbe essere più elegante dire che il controller riceve i dati dalla view del modulo “mailtemplates”. Da qui il dubbio, per quanto riguarda le regole di accesso alla view, su come fare al meglio questa cosa. mi seccherebbe infatti che l’utente non registrato potesse tramite url vedere con index.php/mailtemplates/view/id/ il messaggio…
a) restringo l’accesso ad un ipotetico ruolo “website” in modo che solo Yii possa leggersi l’output/view del messaggio risultante…ma esiste? non mi pare, ma magari non ho capito bene io come funziona il tutto
non passo niente alla view e mi arrangio a trarre il contenuto dal controller così come faccio adesso.
Mi piacerebbe sapere cosa ne pensate anche voi. Magari c’è già una estensione che fa tutto ciò da se’…
Un caro saluto