Browse Source

Ajout matomo

Sangfroid 4 months ago
parent
commit
59db84818d
5 changed files with 35 additions and 1 deletions
  1. 3 1
      .env
  2. 27 0
      assets/controllers/matomo_controller.js
  3. 2 0
      config/packages/twig.yaml
  4. 2 0
      config/services.yaml
  5. 1 0
      templates/base.html.twig

+ 3 - 1
.env

@@ -40,4 +40,6 @@ MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
 # MAILER_DSN=null://null
 ###< symfony/mailer ###
 
-TITLE="Opinion sur le réel"
+TITLE="Opinion sur le réel"
+MATOMO=false
+MATOMO_URL="matomo.domain.tld"

+ 27 - 0
assets/controllers/matomo_controller.js

@@ -0,0 +1,27 @@
+import { Controller } from '@hotwired/stimulus'
+
+export default class extends Controller
+{
+    static values = {
+        url: String,
+        active: Boolean
+    }
+
+    connect() {
+        if (this.activeValue) {
+            const url = this.urlValue
+            console.log("TEST")
+            var _paq = window._paq = window._paq || [];
+            /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+            _paq.push(['trackPageView']);
+            _paq.push(['enableLinkTracking']);
+            (function() {
+                var u="https://"+ url +"/";
+                _paq.push(['setTrackerUrl', u+'matomo.php']);
+                _paq.push(['setSiteId', '2']);
+                var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+                g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+            })();
+        }
+    }
+}

+ 2 - 0
config/packages/twig.yaml

@@ -2,6 +2,8 @@ twig:
     file_name_pattern: '*.twig'
     globals:
         site_title: '%title%'
+        matomo: '%matomo%'
+        matomo_url: '%matomo_url%'
 
 when@test:
     twig:

+ 2 - 0
config/services.yaml

@@ -6,6 +6,8 @@
 parameters:
     images_directory: '%kernel.project_dir%/public/uploads/images'
     title: '%env(TITLE)%'
+    matomo: '%env(bool:MATOMO)%'
+    matomo_url: '%env(string:MATOMO_URL)%'
 services:
     # default configuration for services in *this* file
     _defaults:

+ 1 - 0
templates/base.html.twig

@@ -10,6 +10,7 @@
 
         {% block javascripts %}
             {% block importmap %}{{ importmap('app') }}{% endblock %}
+            <script {{ stimulus_controller('matomo', {'url': matomo_url, 'active': matomo }) }}></script>
         {% endblock %}
     </head>
     <body>