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 的动态标题行的主要内容,如果未能解决你的问题,请参考以下文章

布局中的 CakePHP 动态菜单内容

cakephp中的动态模型翻译

cakePHP:根据用户角色在传递给视图之前过滤行

cakephp - 从其他表中获取行

CakePHP:删除行后如何使自动增量值再次连续

CakePHP-动态模型