sminnee/tagmanager

SilverStripe对Google/Adobe标签管理器的服务器端解决方案

安装次数: 12,991

依赖项: 8

建议者: 1

安全: 0

星标: 5

关注者: 2

分支: 6

开放问题: 11

类型:silverstripe-vendormodule

dev-master / 1.x-dev 2024-07-24 06:09 UTC

This package is auto-updated.

Last update: 2024-08-24 06:18:38 UTC


README

SilverStripe对Google/Adobe标签管理器的服务器端解决方案!

SilverStripe标签管理器为您网站上的页面提供了一种框架,用于通过编程方式生成HTML片段。例如,包括用于分析的跟踪代码和其他软件包以及元标签。

要充分利用标签管理器,您应查找或创建提供此类片段的模块。CMS管理员可以使用标签管理器管理部分来启用和配置这些片段。

优点

  • SilverStripe模块的开发者,如果要在每个页面上添加前端片段,可以编写更少的代码
  • 不同的片段可以由CMS管理员配置和激活
  • 无需协调开发人员发布来添加或删除片段
  • 管理员可以禁用未使用的片段,从而减少页面重量

功能

  • 添加全局片段
  • 添加特定部分或页面的片段(即将推出)
  • 开发者:通过实现提供的SnippetProvider接口来构建自定义片段
  • 控制哪些片段类型可用

默认情况下,以下片段可用

  • 原始HTML,添加到head或body的末尾
  • Google Analytics
  • Google Tag Manager
  • Crazy Egg

禁用片段类型

如果您是开发人员,可能需要禁用一些未测试或客户明确不希望在CMS中使用的片段类型。您可以通过配置来完成此操作

SilverStripe\TagManager\Model\Snippet:
  disabled_types:
    - 'SilverStripe\TagManager\SnippetProvider\HtmlSnippetProvider'
    - 'SilverStripe\TagManager\SnippetProvider\CrazyEggSnippetProvider'

这将禁用HTML和Crazy Egg片段。

附加模块

标签管理器的有用程度取决于其扩展模块,请查看将其列为依赖项的模块以获得一些灵感!

创建自己的标签

要创建新的标签类型,您需要编写一个实现SilverStripe\TagManager\SnippetProvider接口的PHP类。一个简单的例子是GoogleAnalyticsSnippetProvider

您的类需要以下方法来帮助配置管理UI

  • getTitle():返回此片段提供者在管理UI中的标题
  • getSummary(array $params):返回配置片段的简短描述。Params将是一个参数名称到参数值的映射
  • getParamFields():返回用于配置片段的FieldList。每个字段应返回一个标量值,所以很抱歉,没有GridFields!

以及此方法来生成实际的片段

  • getSnippets(array $params):返回一个片段“区域”到片段内容的映射。

每个片段应放置在“区域”中。区域是页面中的预定义插入点。允许的区域是“start-head”、“end-head”、“start-body”、“end-body”。您的片段提供者可以返回这些区域中的多个。