steamulo/tagcommander-bundle

安装数: 9,349

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 3

类型:symfony-bundle

v1.0.0 2023-01-24 09:33 UTC

This package is auto-updated.

Last update: 2024-09-24 13:21:00 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

提供了一套 Symfony 工具包,便于将 TagCommander 集成到您的应用中。

Toolbar sample Profiler sample

您的 TagCommander 数据层、容器和事件数据将在 Symfony 的调试工具栏和性能分析器中可见。

安装

使用 Composer 安装此包

composer require steamulo/tagcommander-bundle

更新 app/AppKernel.php

$bundles = array(
    // ...
    new Meup\Bundle\TagcommanderBundle\MeupTagcommanderBundle(),
);

配置您的 app/config/config.yml

meup_tagcommander:
    default_event: "default"
    datalayer:
        name:    "tc_vars"
        default: { env: "%kernel.environment%", locale: "%locale%" }
    containers:
        - { name: "ab-test", script: "my-ab-test-container.js" }
        - { name: "generic", script: "my-generic-container.js", version: "v17.11", alternative: "//redirect1578.tagcommander.com/utils/noscript.php?id=3&mode=iframe" }
    events:
        - { name: "default",      function: "tc_events_1" }
        - { name: "other_events", function: "tc_events_2" }

meup_tagcommander.datalayer.default 配置节点允许您直接从配置树中预填充您的数据层。

然后更新您的页面以跟踪事件

<html>
  <head>
    {% block head_javascript %}
    {{ tc_vars({ 'route': app.request.attributes.get('_route') }) }}
    {{ tc_container("ab-test") }}
    {% endblock %}
  </head>
  <body>
    <!-- simple tracking sample -->
    <a href="#" onclick="javascript: return {{ tc_event('lorem_click') }}">lorem ipsum</a>
    <!-- advanced tracking sample -->
    <img src="sample.jpg" onmouseover="javascript: return {{ tc_event('over_image', {'src': 'sample.jpg'}, 'other_events') }}">
    <!-- rendering tag commander containers -->
    {% block body_javascript %}
    {{ tc_container("generic") }}
    {% endblock %}
  </body>
</html>

使用 tc_datalayer 服务

$datalayer = $container->get('tc_datalayer');
$datalayer->set('foo', 'bar');

var_dump($datalayer->all());