我是Cakephp的新手并且正在搜索如何设置页面标题和元关键字,desc。为了最好的SEO管理。
我已经检查了任何教程和问题,我想问一下是否有必要在控制器页面中设置标题然后在VIEW / mypage的任何页面中获取?
我试图在我的主页中设置直接标题,方式如下:
$this->set('title', 'My Page Title');
但这不起作用,有没有办法直接设置标题而不与控制器连接?
我正在使用CakePhp的 2.6.3 版本。
答案 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实例,这是未经测试的。