sminnee / tagmanager
SilverStripe对Google/Adobe标签管理器的服务器端解决方案
dev-master / 1.x-dev
2024-07-24 06:09 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^6.3
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”。您的片段提供者可以返回这些区域中的多个。