soee/googletagmanager

轻松将 Google Tag Manager 代码集成到您的 Neos 网站中。

安装: 88

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:neos-plugin

1.0.0 2018-05-26 08:23 UTC

This package is auto-updated.

Last update: 2024-09-10 00:57:28 UTC


README

轻松将 Google Tag Manager 安装代码集成到您的 Neos 网站中。

安装

手动将 soee-googletagmanager 包添加到您的 composer.json 文件中,然后在命令行中输入

composer require soee/googletagmanager

配置

默认情况下,只有当您通过配置设置了标识符时,Google Tag Manager 代码才会被渲染

Soee:
  GoogleTagManager:
    identifier: 'MY-GOOGLETAGMANAGER-IDENTIFIER'

自定义

整个过程和集成代码高度可定制。此包定义了 2 个新节点类型

Soee.GoogleTagManager:Code - 用于在 head 部分渲染 Google Tag Manager 代码 Soee.GoogleTagManager:NoscriptCode - 用于在 body 开启标签后渲染 noscript Google Tag Manager 代码

两者 CodeNoscriptCode 都继承自 Neos.Fusion:Tag,因此您可以检查当前代码并根据需要对其进行自定义。

重要

您可能不希望在开发或测试环境中渲染 Google Tag Manager 代码。此包可以帮助您完成此操作,但为此我们将检查 Flow 上下文名称,如下所示

@if.inProductionEnvironment = ${Configuration.setting('Neos.Flow.core.context') == 'Production' ? true:false}

尽管在大多数情况下应该工作正常,但仍建议您使用自己的变量来定义当前环境。例如,如果您的网站包名为 Vendor.Site,则可以创建两个 Settings.yaml 文件:一个是 Configuration\Production\Settings.yaml,另一个是 Configuration\Development\Settings.yaml(对于任何其他环境也是如此)。然后在这两个文件中,您可以配置环境配置选项

对于 生产 它可以是

Vendor:
  Site:
    environment: 'Production'

对于 开发 它可以是

Vendor:
  Site:
    environment: 'Development'

然后您可以使用它来决定是否渲染 Google Tag Manager 代码,如下所示

Neos.Neos:Page {
  ...
  googleTagManagerCode {
    @if.inProductionEnvironment = ${Configuration.setting('Vendor.Site.environment') == 'Production' ? true:false}
  }
  ...
  googleTagManagerNoscriptCode {
    @if.inProductionEnvironment = ${Configuration.setting('Vendor.Site.environment') == 'Production' ? true:false}
  }
  ...
}

作者 - Marcin Sągol

许可

此包在 MIT 许可下发布