我如何使用html帮助器创建它?(使用inline=false,这样我就可以在每个视图的基础上指定它)
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" />
除了一个坏掉的补丁,似乎什么都找不到。
p5cysglq1#
在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" />
6psbrbz92#
好像我的朋友刚刚告诉我,几个月前我告诉了他怎么做,问题解决了...
<?php echo $this->Html->meta('canonical', 'http://www.example.com/product.php?item=swedish-fish', array('rel'=>'canonical', 'type'=>null, 'title'=>null, 'inline' => false) );?>
wixjitnu3#
如果您正在寻找能够自动将当前url输出到规范标记中的工具,可以使用Cakephp html helper中的$this->Html->url(null, true);或$this->here;。
$this->Html->url(null, true);
$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在本地开发环境中出现问题的情况。
$this->here
v1l68za44#
在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>标记中。
'inline' => false
'block' => true
<head>
j0pj023g5#
在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') ?>
5条答案
按热度按时间p5cysglq1#
在CakePHP错误跟踪站点中发现此错误:http://cakephp.lighthouseapp.com/projects/42648/tickets/1063-support-for-custom-meta-tag-elements-in-htmlhelper
显然你可以用
6psbrbz92#
好像我的朋友刚刚告诉我,几个月前我告诉了他怎么做,问题解决了...
wixjitnu3#
如果您正在寻找能够自动将当前url输出到规范标记中的工具,可以使用Cakephp html helper中的
$this->Html->url(null, true);
或$this->here;
。或者
***警告:***我听说过一些
$this->here
在本地开发环境中出现问题的情况。v1l68za44#
在CakePHP 2中:
在CakePHP 3中:
请注意,两个版本之间的主要区别是CakePHP 2使用
'inline' => false
,而CakePHP 3使用'block' => true
将这些标记放置在文档<head>
标记中。j0pj023g5#
在CakePHP 4中:
在您的视图中(es:Articles/view.php)添加这个:
然后使用以下指令在layout/default.ctp中打印它