当前位置:  开发笔记 > 编程语言 > 正文

CakePHP - 如何将页面标题设置为项目名称?

如何解决《CakePHP-如何将页面标题设置为项目名称?》经验,为你挑选了1个好方法。

好的,所以我正在尝试自学CakePHP框架,我正在尝试为自己敲一个简单的演示应用程序.

我有控制器,视图和模型都设置和工作,但我想做的事情略多于基本的在线帮助节目.

我有一个guitars_controller.php文件如下...

set('Guitars', $this->Guitar->findAll());
        $this->pageTitle = "All Guitars";
    }
    function view($id = null) {
        $this->Guitar->id = $id;
        $this->set('guitar', $this->Guitar->read());
        // Want to set the title here.
    }
}
?>

'Guitar'对象包含一个名为'Name'的属性,我希望能够将其设置为各个页面视图的pageTitle.

任何人都可以指出我是怎么做的,拜托?

注意:我知道在应用程序中设置此类数据的位置存在普遍的分歧,但对我而言,它与数据相关.



1> neilcrookes..:

这些操作与模型无关,因此可以放在app/app_controller.php文件中

set(Inflector::variable($this->name), $this->{$this->modelClass}->findAll());
        $this->pageTitle = 'All '.Inflector::humanize($this->name);
    }
    function view($id = null) {
        $data = $this->{$this->modelClass}->findById($id);
        $this->set(Inflector::variable($this->modelClass), $data);
        $this->pageTitle = $data[$this->modelClass][$this->{$this->modelClass}->displayField];
    }
}
?>

将浏览器指向/ guitars将调用吉他控制器索引操作,该操作不存在,因此将运行AppController中的一个(GuitarsController继承自的).视图操作也是如此.这也适用于您的DrumsController,KeyboardsController等.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有