在CakePHP 2.6中设置页面标题的正确方法是什么?

时间:2015-12-04 16:56:32

标签: cakephp seo cakephp-2.6 cakephp-2.x

我是Cakephp的新手并且正在搜索如何设置页面标题和元关键字,desc。为了最好的SEO管理。

我已经检查了任何教程和问题,我想问一下是否有必要在控制器页面中设置标题然后在VIEW / mypage的任何页面中获取?

我试图在我的主页中设置直接标题,方式如下:

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

但这不起作用,有没有办法直接设置标题而不与控制器连接?

我正在使用CakePhp的 2.6.3 版本。

2 个答案:

答案 0 :(得分:3)

自CakePHP 2.5以来,设置标题的正确方法如下:

在你的布局中:

$this->fetch('title')

在你看来:

$this->assign('title', 'My Page Title')

同样适用于元标记

在你的布局中:

<? echo $this->Html->meta('keywords',$this->fetch('keywords'));?>
<? echo $this->Html->meta('description',$this->fetch('description'));?>

在你看来:

<? $this->assign('keywords', 'My meta tags')?>
<? $this->assign('description', 'My description')?>

更多关于CakePHP Layouts

答案 1 :(得分:0)

标题标签将在使用中的布局的default.ctp中设置,例如app/View/Layouts/default.ctp。你可以在那里对你的价值进行硬编码。

显示的值来自PagesController::display()app/Controller/PagesController.php),它是从渲染视图所在的目录生成的。

在控制器$this->set('seotitel', 'Foo')中设置您的SEO标题应该将值传播到default.ctp,您可以在其中显示它:

<title>
    <?php echo $seotitel ?>
</title>

N.B。由于缺少正在运行的2.6实例,这是未经测试的。