基本上在 default.ctp 我的标题中有这个:
Basically in default.ctp I have this for my title:
<title>
<?= $this->fetch('title') ?>
</title>
在控制器内部我有这条线:
And inside of the controller I have this line:
$this->set('title', 'Test-Title');
但是它什么也没做,它仍然显示控制器名称(Jobs,控制器全名 os JobsController.ctp)
But it does nothing, it still displays controllers name(Jobs, controllers full name os JobsController.ctp)
但是如果我把它放在我的视图文件中:
But if I put this inside of my view file:
$this->assign('title', 'Test-Title');
它改变了标题.那么 $this->set('title', $title) 有什么问题?
It changes the title. So what is wrong with $this->set('title', $title) ?
你可以在你的控制器中set()变量:
You can just set() the variable in your controller:
// View or Controller
$this->set('title', 'Test-title');
然后将其用作布局或视图中的标准变量:
Then use it as a standard variable is in your layout or view:
<!-- Layout or View -->
<title>
<?php echo $title; ?>
</title>
此处的详细信息:http://book.cakephp.org/3.0/en/views.html#setting-view-variables
使用 assign() 是不同的,这就是它与 fetch() 一起使用的原因.assign() 与视图块一起使用:http://book.cakephp.org/3.0/en/views.html#using-view-blocks
Using assign() is different, which is why it works with fetch(). assign() is used with View Blocks: http://book.cakephp.org/3.0/en/views.html#using-view-blocks
这篇关于$this->set('title', 'Title Name');在 CakePHP 3.x 中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽