【发布时间】:2017-01-30 11:38:48
【问题描述】:
在 CakePHP 2.9.5 https://book.cakephp.org/2.0/en/views.html 的文档中说:
$title_for_layout 自 2.5 起已弃用,请在布局中使用
$this->fetch('title')并改用$this->assign('title', 'page title')。
在 app/View/Layouts/default.ctp 我有这个,顺便是 CakePHP 自带的,没有修改过:
<title>
<?php echo $cakeDescription ?>:
<?php echo $this->fetch('title'); ?>
</title>
在我的视图文件中:
<?php $this->assign('title', 'My page title'); ?>
所以这应该在<title>标签中输出“我的页面标题”,但只是拿出了默认的CakePHP标题“CakePHP:快速开发php框架”
我哪里错了?
【问题讨论】:
-
这不是默认布局标题标签的样子,它看起来像这样:github.com/cakephp/cakephp/blob/2.9.5/app/View/Layouts/…
-
无论如何都不能解决问题
-
我并不是说这会解决问题,只是您关于文件未被修改的说法似乎不正确。引用的短语在默认布局和错误模板的
$cakeDescription变量中定义,其他任何地方都没有。因此,默认模板看起来不像您所显示的那样,这一事实使您的问题更加不清楚,并且您的问题难以重现。 -
好的,抱歉,我已经对其进行了编辑以准确显示文件中的内容。我总结它的原因是因为我知道
$cakeDescription没有引起问题,所以试图让它更具可读性。然而,那条线是否存在并没有什么区别。 -
还是不行吗?如果您发布 default.ctp 的整个代码,它会更清楚。