webmatch/wbm-tag-manager

Shopware的GTM集成和数据层配置

安装数: 15,793

依赖项: 0

建议者: 0

安全性: 0

星标: 27

关注者: 9

分支: 18

公开问题: 6

类型:shopware-plugin

3.5.6 2022-05-16 13:56 UTC

README

Scrutinizer Travis CI

此插件将一个新模块集成到Shopware后端,允许集成Google Tag Manager代码片段并配置dataLayer内容。

WbmTagManager

该插件提供以下功能

  • 将GTM代码片段添加到每个页面的head标签前
  • 为任何组合的模块/控制器/操作定义dataLayer的内容
  • 传递给视图的所有变量都作为dataLayer属性值可用
  • 使用smarty语法插入变量和更改值

要求

  • Shopware >= 5.6.3

安装

将此存储库克隆到Shopware安装的custom/plugins目录下的WbmTagManager文件夹中。

  • 通过Shopware后端的插件管理器安装插件。
  • 输入所需GTM容器的容器ID(在GTM后端中找到)
  • 激活插件,并根据提示允许清除列出的缓存。
  • 重新加载后端以完成安装。

使用composer安装

  • 切换到shopware的根安装
  • 运行命令composer require webmatch/wbm-tag-manager,然后通过插件管理器安装和激活插件

用法

模块将通过设置菜单标签页下的新菜单点在后台中可用。

该插件预先配置为

  • Google Analytics的增强型电子商务跟踪
  • Google AdWords的动态再营销

使用类似于 "$sArticles as $sArticle" 的语法作为应包含迭代元素的属性值。

添加模块

模块本质上是为特定视图配置的数据层,意味着类型更多或更少的网站。

从3.0.0版本开始,新增了一个用于添加新模块、更新和删除现有模块的新UI。

添加新模块时,您需要输入模块名称(新标签页将读取的内容)和模块密钥。

密钥必须包含模块、控制器和操作的值,并用下划线连接。有关更详细的解释,请参阅Shopware文档。密钥还必须全部小写。

添加模块后,您将在主窗口中找到一个新标签页,在那里您可以声明特定视图的dataLayer属性。

附加Smarty函数

{dbquery}

从3.0.0版本开始,新增了一个用于编译dataLayers的Smarty函数{dbquery}。此函数允许您从任何数据库表获取单个值。您可以将一个或多个标准传递给用于WHEREORDER BY语句的标准。

以下示例将在“添加到购物车”模块的dataLayer中运行,并获取新添加产品的价格。

{dbquery select='price' from='s_order_basket' where=['ordernumber =' => $smarty.request.sAdd, 'sessionID =' => $smarty.session.Shopware.sessionId] order=['id' => 'DESC']}

请注意仅使用单引号和数组参数。

请注意,此功能依赖于正确的语法,这意味着您必须传递一个带有列名和列的运算符,以及值必须存在。语法错误将被捕获,并导致返回一个空字符串。

{request_get}

如果请求参数在分发期间或通过简化后的URL(例如 /detail/index/sArticle/123)设置,则使用 $smarty.request 将无法访问请求参数。通过使用 request_getparam 参数,您可以在数据层编译时获取任何可用的参数。

{request_get param='sDelete'}

{*|to_string}

修改器 to_string 将强制将值转换为字符串。默认行为是通过json解码尝试确定值的类型。如果数值仍应被视为字符串,请在变量或值之后使用修改器。如果您正在链式调用多个修改器,请确保始终将 to_string 用作最后一个修改器。

{123|to_string}
=>
"123"

跟踪URL参数

为了在整个用户旅程中跟踪URL参数(例如,用于活动),您可以在会话中设置临时保存的参数,以便在数据层配置中使用。在插件配置中,您可以定义一个以逗号分隔的GET参数列表(例如 utm_campaigngclid 等)。然后,可以通过读取会话来在数据层配置中使用这些参数:{$smarty.session.Shopware.wbmTagManager.nameOfTheParameter}