6

所以我想做的是,在我的主布局中,为登录用户提供一个菜单,为匿名用户提供一个不同的菜单。

布局将在每个页面上使用,所以我不确定如何执行此操作,正如我所见,Auth 组件只能在控制器中使用,如果我只能在一个中执行此操作会很好视图,但是对于每个视图,我该怎么做?我必须在 AppController 上做些什么吗?

我想做的基本上是

// layout
<?php if(logged): ?>
Welcome <?php echo $user; ?>
<?php else: ?>
Welcom anon, Log in?
<?php endif; ?>
4

1 回答 1

15

您也可以使用 Auth 组件在您的视图中访问已登录的用户。从手册

用户登录后,您通常需要一些有关当前用户的特定信息。您可以使用 AuthComponent::user() 访问当前登录的用户。此方法是静态的,可以在加载 AuthComponent 后全局使用。您可以作为实例方法或静态方法访问它:

// Use anywhere
AuthComponent::user('id')

// From inside a controller
$this->Auth->user('id');

您应该能够执行以下操作:

// layout
<?php if(AuthComponent::user('name')): ?>
    Welcome <?php echo AuthComponent::user('name'); ?>
<?php else: ?>
    Welcom anon, Log in?
<?php endif; ?>
于 2012-09-16T03:32:54.767 回答