Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为控制器的所有操作/视图设置相同的标题?_Php_Cakephp_Cakephp 1.3_Title - Fatal编程技术网

Php 如何为控制器的所有操作/视图设置相同的标题?

Php 如何为控制器的所有操作/视图设置相同的标题?,php,cakephp,cakephp-1.3,title,Php,Cakephp,Cakephp 1.3,Title,所有操作/视图都将具有相同的标题 Like=> <?php $this->set('title_for_layout', 'mysite'); ?> 如何在CakePHP中为所有操作/视图设置此标题?如果您只想在每个页面上显示站点名称;我只需在布局中手动设置: -我的网站名称 这样,您就可以有一个动态标题,并将站点名称显示在页面的中 如果您不想这样做,可以在app\u controller.php的beforeFilter中设置值: function beforeFilt

所有操作/视图都将具有相同的标题

Like=>

<?php $this->set('title_for_layout', 'mysite'); ?>


如何在CakePHP中为所有操作/视图设置此标题?

如果您只想在每个页面上显示站点名称;我只需在布局中手动设置:

-我的网站名称

这样,您就可以有一个动态标题,并将站点名称显示在页面的

如果您不想这样做,可以在
app\u controller.php的
beforeFilter
中设置值:

function beforeFilter() {
    parent::beforeFilter();
    $this->set('title_for_layout', 'My Site');
}
这将为每个操作/视图提供标题
My Site
,如果需要,您可以根据每个控制器/操作覆盖此标题


但是,你的页面标题对于每个页面都应该是唯一的(通常);所以除非你有相同的标题,否则我会考虑。

< P>如果你只想让你的网站的名字出现在每一个页面上;我只需在布局中手动设置:

-我的网站名称

这样,您就可以有一个动态标题,并将站点名称显示在页面的

如果您不想这样做,可以在
app\u controller.php的
beforeFilter
中设置值:

function beforeFilter() {
    parent::beforeFilter();
    $this->set('title_for_layout', 'My Site');
}
这将为每个操作/视图提供标题
My Site
,如果需要,您可以根据每个控制器/操作覆盖此标题


但是,你的页面标题对于每个页面都应该是唯一的(通常);所以除非你有相同标题的理由,否则我会考虑。

在一个控制器中你可以设置:

函数beforeFilter() {

$this->pageTitle=“我的页面标题”

父::beforeFilter();
}在控制器中,您可以设置:

函数beforeFilter() {

$this->pageTitle=“我的页面标题”

父::beforeFilter();
}

在应用程序控制器中,在
beforeFilter()
回调函数中设置它

class AppController extends Controller
{
    function beforeFilter()
    {
        $this->set('title_for_layout','Your title');
    }
}       

在应用程序控制器中,在
beforeFilter()
回调函数中设置它

class AppController extends Controller
{
    function beforeFilter()
    {
        $this->set('title_for_layout','Your title');
    }
}       

再次-不是在过滤之前,而是在渲染之前!beforeFilter有什么问题?再说一遍-不是beforeFilter,而是beforeRender!beforeFilter有什么问题?请参阅另一个答案中我对beforeRender()的评论使用
beforeRender
将覆盖用户在方法中设置的任何内容。通过使用beforeFilter
,如果方法中需要,您可以覆盖该值。这一点很好。但是,如果不直接传递它,而是将其保存在控制器中的变量中,则也可以使用beforeRender。如果===null,则默认值等。如果没有要渲染的视图,则不会每次调用它(在重定向等之前),应将其作为答案,以便我可以+1!嗯,经过考虑,你的方法也不错。开销非常小,甚至不会被注意到:)在另一个答案中查看我关于beforeRender()的注释使用
beforeRender
将覆盖用户在方法中设置的任何内容。通过使用beforeFilter
,如果方法中需要,您可以覆盖该值。这一点很好。但是,如果不直接传递它,而是将其保存在控制器中的变量中,则也可以使用beforeRender。如果===null,则默认值等。如果没有要渲染的视图,则不会每次调用它(在重定向等之前),应将其作为答案,以便我可以+1!嗯,经过考虑,你的方法也不错。开销非常小,甚至不会被注意到:)