Sono in procinto di personalizzare il file default.ctp
e sto cercando di visualizzare il nome dell'utente attualmente connesso nella parte superiore della pagina.Il modo migliore per visualizzare l'utente connesso corrente in default.ctp?
In app_controller.php
, ho il seguente:
function beforeFilter()
{
$user = $this->Auth->user();
if($user != null)
{
$this->Session->write('user_name',$user['User']['username']);
}
}
E in default.ctp
, ho:
$user = $this->Session->read('Auth.User');
if(!empty($user))
{
echo 'Hello, ' . $user['user_name'];
}
Tuttavia, sembra che il valore $user_name
non è sempre impostato da nessuna parte.
Cosa sto sbagliando? C'è un modo migliore per realizzare questo?
Aggiornamento: Ho modificato come descritto nella risposta, ma ancora non funziona. Ottengo un errore:
Undefined index: user_name [APP/views/layouts/default.ctp, line 21]
basta usare la chiave dell'array che usi, cioè nome utente. inoltre non hai bisogno di alcun altro codice nel controller come se avessi – dogmatic69
@dog: Grazie. L'ho appena capito. –