gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:12 26 4
gpt4 key购买 nike

好的,所以我正在尝试自学 CakePHP 框架,并且正在尝试为自己构建一个简单的演示应用程序。

我已经设置好了 Controller 、 View 和模型并开始工作,但我想做一些比基本的在线帮助显示稍微多一些的事情。

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

<?php
class GuitarsController extends AppController {
var $name = 'Guitars';
function index() {
$this->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.
}
}
?>

“吉他”对象包含一个名为“名称”的属性,我希望能够将其设置为各个页面 View 的 pageTitle。

有人能指出我该怎么做吗?

注意:我知道对于在应用程序中的什么位置设置此类数据存在普遍的分歧,但对我来说,这是与数据相关的。

最佳答案

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

<?php
class AppController extends Controller {
function index() {
$this->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 将调用您的吉他 Controller 索引操作,该操作不存在,因此将运行 AppController(GuitarsController 继承自)中的操作。查看操作也一样。这也适用于您的 DrumsController、KeyboardsController 等。

关于php - CakePHP - 如何将页面标题设置为项目名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com