我想把它放在AppController中,但这意味着我必须在每个视图文件中都有相同的代码.我想将它放在标题中,以便它可以在每个视图上.我还希望它背后有一些逻辑,如果我登录然后只显示已注销的链接和我的用户菜单.同样,如果我没有登录,则显示注册和登录链接.任何人都可以帮我指点或指向正确的方向吗?谢谢!
//layout .ctp
<div class="header">
<?php
if($this->Session->read('Auth')) {
// user is logged in, show logout..user menu etc
echo $this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
} else {
// the user is not logged in
echo $this->Html->link('Login', array('controller' => 'users', 'action' => 'login'));
}
?>
</div>
Run Code Online (Sandbox Code Playgroud)
是一种方式.如果代码在您的代码中layout,它将出现在每个view代码中,否定冗余代码.