我有一个带有标题行的 cakePHP 应用程序。此标头包含所有者姓名、电话号码、电子邮件等内容……所有者可以更改此信息,因此此标头必须是动态的。是否可以将此标题包含到布局中,所以我不必在每个视图中都包含它?
谢谢
编辑: 我明白了,我没有正确描述我的问题。标题中的信息不是用户信息。应该有网站所有者的姓名(或公司名称),所有者的电话号码等信息。这些信息对于所有登录的用户都是相同的。不管怎么说,还是要谢谢你。这个问题似乎在另一个问题中得到解决
是的
假设用户数据存储在会话中,您可以 - 在您的布局中 - 执行类似的操作
<div id="#header">
<?php
echo $this->Session->read('Auth.User.name');
// echo other User information
?>
</div>
用户即使在登录后也可以编辑他的信息。在这种情况下,会话数据将无助于显示正确的信息。
用于显示动态数据
所以更好的是,您可以设置来自控制器的信息并将其显示在视图中,如下所示
控制器
public function beforeFilter() {
parent::beforeFilter();
if ($this->Auth->user('id')) {
$this->loadModel('User');
$this->set('user', $this->User->findById($this->Auth->user('id')));
}
}
看法
<div class='header'>
<?php
if (!empty($user)) {
echo $user['User']['name']; // display the info whatever you want..
}
?>
</div>