覆盖 CakePHP head/header

Override CakePHP head/header

编辑:我找到了解决方案,但现在 cakePhp 本身有问题

我正在使用:

<?php if (isset($image)) echo $this->Html->meta(array('name' => 'og:image', 'content' => $image)); ?>

并生成

<meta name="og:image" content="https://test.com/img/sharer/startseite.jpg"/>

遗憾的是 Facebook 不喜欢末尾的 />(此处相关Facebook Open Graph Error - Inferred Property

我必须将它与 space 一起使用 - 但 CakePhp 以这种方式生成它。有什么想法吗?

在 CakePHP 3 中,您可以在 vendor/cakephp/cakephp/src/View/Helper/HtmlHelper.php 中找到 HTML 助手的模板。

将它们复制到 config/templates/html-templates.php 并根据您的需求进行增强。

然后,在您的\App\Controller\AppController中添加

public $helpers = [
  ...
  'Html' => ['templates' => 'templates/html-templates'],
];

并像往常一样使用您的 HTML 助手。