如何使用 html 帮助程序创建它?(使用 inline=false 所以我可以在每个视图的基础上指定它)
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" />
除了不起作用的补丁外,似乎找不到任何东西。
如何使用 html 帮助程序创建它?(使用 inline=false 所以我可以在每个视图的基础上指定它)
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" />
除了不起作用的补丁外,似乎找不到任何东西。
在 CakePHP 错误跟踪站点中找到了这个:http: //cakephp.lighthouseapp.com/projects/42648/tickets/1063-support-for-custom-meta-tag-elements-in-htmlhelper
显然你可以使用
echo $this->Html->meta('canonical', 'http:://example.com', array('rel'=>'canonical', 'type'=>null, 'title'=>null));
//outputs <link href="http:://example.com" rel="canonical" />
似乎我的朋友刚刚告诉我,几个月前我告诉他如何做到这一点,问题解决了......
<?php echo $this->Html->meta('canonical',
'http://www.example.com/product.php?item=swedish-fish',
array('rel'=>'canonical', 'type'=>null, 'title'=>null, 'inline' => false)
);?>
如果您正在寻找能够自动将当前 url 输出到规范标签中的东西,您可以在 Cakephp html 帮助器中使用$this->Html->url(null, true);
or 。$this->here;
<?php echo $this->Html->meta('canonical', $this->Html->url(null, true), array('rel'=>'canonical', 'type'=>null, 'title'=>null)); ?>
或者
<?php echo $this->Html->meta('canonical', $this->here, array('rel'=>'canonical', 'type'=>null, 'title'=>null)); ?>
警告:
我听说过一些$this->here
本地开发环境出现问题的情况。
在 CakePHP 2 中:
echo $this->Html->meta('canonical', 'http://example.com', array('rel' => 'canonical', 'type' => null, 'title' => null, 'inline' => false));
在 CakePHP 3 中:
echo $this->Html->meta('canonical', 'http://example.com', array('rel' => 'canonical', 'type' => null, 'title' => null, 'block' => true));
请注意,版本之间的主要区别在于 CakePHP 2 使用'inline' => false
而 CakePHP 3 使用'block' => true
将这些放置在文档<head>
标签中。
在CakePHP 4中:
在您的视图中(es:Articles/view.php)添加:
<?php $this->Html->meta(
'canonical',
Router::url(['controller' => 'Articles', 'action' => 'view', $article->slug], true),
[
'block' => true
]
);
?>
然后你用这个指令在你的 layout/default.ctp 中打印它
<?= $this->fetch('meta') ?>