steamulo / tagcommander-bundle
v1.0.0
2023-01-24 09:33 UTC
Requires
- php: >=7.1|>=8.0
- symfony/config: ^4.0|^5.0|^6
- symfony/dependency-injection: ^4.0|^5.0|^6
- symfony/http-kernel: ^4.0|^5.0|^6
- symfony/serializer: ^4.0|^5.0|^6
- twig/twig: >=2.11
Requires (Dev)
- ext-dom: *
- ext-json: *
- phing/phing: ~2.9
- phpunit/phpunit: 9.*
- sebastian/phpcpd: 2.*
- squizlabs/php_codesniffer: 1.*
- symfony/property-access: ^5.2
README
提供了一套 Symfony 工具包,便于将 TagCommander 集成到您的应用中。
您的 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());