soee / googletagmanager
轻松将 Google Tag Manager 代码集成到您的 Neos 网站中。
Requires
- neos/neos: ~4.0
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 代码
两者 Code 和 NoscriptCode 都继承自 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
- 电子邮件: kontakt@soee.pl
- 网站: soee.pl
- 推特: @marcinsagol
许可
此包在 MIT 许可下发布