Joomla, i parametri utente e la sessione

Sviluppando su Joomla 1.5 una applicazione che agisce sui parametri di un utente, mi sono trovato di fronte un piccolo problema: i parametri impostati da interfaccia di amministrazione sono riflessi nel frontend soltanto dopo che un utente effettua il logout e quindi il login, ma non durante la sessione corrente.

In sostanza, se nel backend ho un pulsante "imposta parametro=1", il cui compito è richiamare un metodo del controller, che a sua volta imposta il parametro nel database, il visitatore sul sito non avrà alcun riflesso di tale attività nel frontend fino a che la sua sessione scade.

Un bel problema.

Dopo alcune indagini ho scoperto che il problema è dovuto al fatto che i parametri vengono caricati all'atto della creazione dell'oggetto JUser dell'utente corrente, per cui non sono aggiornati in tempo reale.

Questo può andare bene per la funzionalità standard dei parametri, ma non per quello che intendevo realizzare.

Per risolvere, è stato necessario creare un nuovo oggetto JUser, con lo stesso ID dell'utente della sessione (JFactory::getUser()), e da lì controllare l'effettivo valore del parametro.


Bookmark and Share

Un commento al post “Joomla, i parametri utente e la sessione”

odino Says:

…oppure distruggere la sessione per ri-crearla con i valori necessari… interessante comunque

Lascia un commento

Nome (obbligatorio)

Mail (non sarà pubblicata) (obbligatoria)

Sito web