8
votes

Meilleure façon d'afficher l'utilisateur actuel enregistré par défaut.ctp?

Je suis en train de personnaliser le fichier par défaut.ctp et j'essaie d'afficher le nom de l'utilisateur actuellement connecté en haut de la page.

in app_controller. PHP , j'ai ce qui suit: xxx

et dans par défaut.ctp , j'ai: xxx

Cependant, il semble que la valeur $ user_name ne soit pas définie nulle part.

Qu'est-ce que je fais mal? Existe-t-il un meilleur moyen d'accomplir cela?


Mise à jour: Je l'ai modifié comme décrit dans la réponse, mais cela ne fonctionne toujours pas. Je reçois une erreur:

Index non défini: nom_viseur_name [app / vues / mises en page / default.c, ligne 21]


2 commentaires

Utilisez simplement la clé de matrice que vous utilisez, c'est-à-dire nom d'utilisateur. Aussi, vous n'avez pas besoin d'un autre code dans le contrôleur comme vous l'aviez


@Dog: Merci. Je viens de me rendre compte que.


3 Réponses :


12
votes

Vous pouvez également utiliser la sessionHelper directement dans la vue / la mise en page

$user = $this->Session->read('Auth.User');
if(!empty($user)) {
    echo 'Hi ', $user['user_name'];
}


3 commentaires

Avec CakePHP2, $ utilisateur ['Nom d'utilisateur']; .


Le champ sera tout ce qui est enregistré comme dans la base de données. La version du gâteau n'a rien à voir avec ça.


Pour CakePhP3, nous allons maintenant utiliser $ ceci-> Demande-> Session () -> Lire ('Auth.User'); Comme le sessionHelper est maintenant obsolète



-2
votes
$user = $this->Session->read('Auth.User');
 if(count($user)) 
           echo $user['name'];

1 commentaires

Tout ce que vous avez fait était copier le code de réponse de DogMatic69, réparer une erreur mineure mineure qui aurait été évidente et n'a même pas pris la peine d'expliquer le code du tout. Si vous avez eu un représentant, je voterais.



3
votes

CakePHP 2.x:

<?php if (AuthComponent::user('id')): ?>
<p class="navbar-text pull-right">
Logged in as <a href="#" class="navbar-link"><?= AuthComponent::user('name') ?></a>
</p>
<?php endif; ?>


0 commentaires