$ this-> set('title','Title Name');不工作在CakePHP 3.x [英] $this->set('title', 'Title Name'); not working in CakePHP 3.x

查看:190
本文介绍了$ this-> set('title','Title Name');不工作在CakePHP 3.x的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上在default.ctp我有我的标题:

Basically in default.ctp I have this for my title:

<title>
  <?= $this->fetch('title') ?>
</title>

在控制器里面有这行:

$this->set('title', 'Test-Title');

但它不做任何事情,它仍然显示控制器名称(作业,控制器全名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-&gt; set('title','Title Name');不工作在CakePHP 3.x的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆