我的情况是这样的:
在我的/views/layout/default.ctp
<head>
<!-- other stuff -->
<?php echo $scripts_for_layout; ?>
</head>
<body>
<!-- more stuff -->
<?php echo $content_for_layout; ?>
在我的/views/pages/home.ctp
<?php $this->Html->meta('keywords', 'my, keywords', array(), false); ?>
但是,我的问题是即使我的default.ctp中使用$scripts_for_layout
,也使用boolean inline = false
,我仍然无法在meta
中看到head
标记相反,我只是看到它们内联。
我正在考虑在我进行HTML帮助程序调用之前回显$scripts_for_layout
的情况,但是肯定必须有一种优雅的方法来执行此操作吗?
另请注意,HTML帮助程序调用是views/pages/home.ctp
编辑 - 啊哈,我发现了自己的错误。这是其他任何有同样问题的人。使用CakePHP 1.3,HTML帮助程序的语法略有改变(并且语法没有向后兼容性)。
显然,我在view
写的内容存在语法缺陷。
这是在版本1.3中说出boolean inline = false
的正确方法:
$this->Html->meta("keywords", "keywords, are, sweet", array("inline" => false));
答案 0 :(得分:2)
view
写的内容存在语法缺陷。
这是在版本1.3中说出boolean inline = false
的正确方法:
$this->Html->meta("keywords", "keywords, are, sweet", array("inline" => false));
答案 1 :(得分:0)
对于CakePHP版本3.x在您的视图中使用此选项:
<?php $this->Html->meta('keywords', 'keywords, are, sweet', ['block' => true]); ?>
然后在你的布局标题中使用:
<?= $this->fetch('meta') ?>
输出将是:
<meta name="keywords" content="keywords, are, sweet"/>