Comment puis-je déclencher mon script de statistiques personnalisé à chaque « chargement » de page ?

Sachant que Discourse est une SPA et après avoir consulté quelques documents sur ce sujet, je ne suis toujours pas sûr de la manière d’y parvenir :

  • nous incluons une bibliothèque js personnalisée dans le pied de page qui interagit avec notre solution de statistiques
  • nous voulons enrichir les statistiques en déclenchant des événements personnalisés à chaque « chargement de page », par exemple chaque fois que l’utilisateur navigue vers une « nouvelle » page

Pseudo-code :

window.statistic = window.statistic || [];
window.statistic.push({
    action: "page.ready",
    data: {
        page: {
            path: "/c/new-to-this-forum-get-started-here/20/l/new",
            country: "WW",
            language: "en",
        }, user: {
            country: "DE",
            loginStatus: "logged_in"
        }
    } });

Comment et où dois-je placer le code dans mon thème personnalisé pour y parvenir ?

Merci :slight_smile:

1 « J'aime »

Vous voudrez probablement utiliser onPageChange de notre API de plugin.

Dans un thème, vous voudrez ajouter quelque chose comme ceci à javascripts/discourse/api-initializers/your-initializer.js

import { withPluginApi } from "discourse/lib/plugin-api";

export default {
  name: "custom-script-name",

  initialize() {
    withPluginApi("0.8.36", (api) => {
      api.onPageChange(() => {
        // script que vous voulez exécuter lors du changement de page ici
      });
    });
  },
};
3 « J'aime »

Merci ! Ça a fonctionné.

Savez-vous aussi comment obtenir la langue de l’interface utilisateur à partir des paramètres de l’utilisateur ?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.