CakePHP 的动态标题行
Posted
技术标签:
【中文标题】CakePHP 的动态标题行【英文标题】:Dynamic Header Line with CakePHP 【发布时间】:2013-11-08 12:39:01 【问题描述】:我有一个带有标题行的 cakephp 应用程序。此标头包含所有者姓名、电话号码、电子邮件等内容。 所有者可以更改此信息,因此此标头必须是动态的。 是否可以将此标题包含到布局中,这样我就不必在每个视图中都包含它?
谢谢
编辑: 我明白了,我没有正确描述我的问题。 标题中的信息不是用户信息。应该有网站所有者的姓名(或公司名称),所有者的电话号码等信息。这些信息对于所有登录的用户都是相同的。 不管怎么说,还是要谢谢你。这个问题似乎在另一个问题中得到解决
【问题讨论】:
Dynamic layouts in CakePHP的可能重复 您可以在 AppController 中使用 beforeFilter 创建标题元素并传递动态数据 【参考方案1】:是的
假设用户数据存储在会话中,您可以 - 在您的布局中 - 执行类似的操作
<div id="#header">
<?php
echo $this->Session->read('Auth.User.name');
// echo other User information
?>
</div>
【讨论】:
【参考方案2】:用户即使在登录后也可以编辑他的信息。在这种情况下,会话数据将无助于显示正确的信息。
用于显示动态数据
这样更好,您可以设置来自控制器的信息并像这样在视图中显示它
控制器
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>
【讨论】:
以上是关于CakePHP 的动态标题行的主要内容,如果未能解决你的问题,请参考以下文章