Passer au contenu principal

Intégrer un widget dynamique pour page templatée (sans flux)

Idéal si vous voulez un widet sur une page templatée mais que vous avez aucun flux (csv ou GMC) de configurez sur JOIN Stories

Mis Ă  jour il y a plus d'un mois

Ce type d'intégration nécessite un développeur.

Qu'est-ce qu'une intégration dynamique ?

L'intégration dynamique permet d'afficher des widgets sur différentes pages grùce à une intégration unique dans le modÚle de page.

Cela signifie que vous pouvez modifier votre propre contenu directement Ă  partir de l'outil JOIN.

Le code doit ĂȘtre intĂ©grĂ© dans toutes les pages de produits oĂč vous souhaitez que le widget apparaisse, Ă  l'endroit convenu avec votre Ă©quipe.

Comment ça fonctionne ?

Le morceau de code devra ĂȘtre intĂ©grĂ© sur toutes les pages oĂč vous souhaitez faire apparaitre le widget. Pour les pages produits, dans le template par exemple. L'emplacement est donc Ă  valider en amont avec votre Ă©quipe.

Attention, tous les widgets devront avoir la mĂȘme forme et taille afin d'Ă©viter le CLS, il vous faudra partir du script du widget par dĂ©faut.

  1. Dans l'onglet intégration d'un widget, récupérez le code d'intégration du widget.

  2. Modifier la derniĂšre balise script pour la remplacer par le code suivant :

<script>
const teamName = "MY_TEAM_NAME"; // ASK CSM
const defaultAlias = "MY_DEFAULT_ALIAS";
const divId = "MY_DIV_ID";
// BELOW THE CODE TO RETRIEVE THE SLUG AS ALIAS
const currentPath = window.location.pathname;
const pageSlug = currentPath.substring(currentPath.lastIndexOf("/")+1);
const alias = pageSlug;

const loadWidget = (alias) => {
const script = document.createElement("script");
script.src = `https://${teamName}.my.join-stories.com/widgets/${alias}/index.js`;
script.setAttribute("data-join-widget-id", divId);
script.setAttribute("data-join-widget-alias", alias);
script.setAttribute("type", "text/javascript");
script.onerror = () => {
if (defaultAlias && alias !== defaultAlias) {
loadWidget(defaultAlias);
}
}
const div = document.getElementById(divId);
if (div) { div.appendChild(script); }
}

loadWidget(alias);
</script>

Dans le code fournit, vous devez remplacer plusieurs valeurs :

MY_TEAM_NAME

Vous pouvez le récupérer via votre CSM

MY_DEFAULT_ALIAS

Doit ĂȘtre remplacĂ© par l'alias du widget qui doit s'afficher si aucun widget n'a Ă©tĂ© crĂ©e sur le Studio pour la page en question

MY_DIV_ID

doit ĂȘtre remplacĂ© par l'id de la div copiĂ©e dans le code initial. (cf. Screenshot ci-dessous

MY_ALIAS

par défaut nous récupérons le Slug de votre URL

Screenshot pour récupérer MY_DIV_ID

alias doit utiliser un identifiant unique de la page. Nous prenons par défaut le Slug de votre page

Bien que vous puissiez utiliser n’importe quel identifiant, nous recommandons d’opter pour le slug. En effet, le slug est plus facile Ă  rĂ©cupĂ©rer pour la personne en charge de la crĂ©ation du contenu, ce qui simplifie la gestion et la maintenance de vos widgets.

AprĂšs avoir intĂ©grĂ© le code, il vous suffira de crĂ©er un nouveau widget en utilisant l’identifiant de la page comme alias du widget.

Dans notre exemple, l’alias “chaussure” est utilisĂ© pour identifier le widget correspondant.

Attention, pensez Ă  rĂ©-utiliser les mĂȘmes formes et tailles de widget pour Ă©viter le CLS. Il est possible de dupliquer un widget existant pour s'assurer que le design est le mĂȘme.

Une fois votre widget publié, il apparaitra automatiquement sur le site.


Section suivantes :

Avez-vous trouvé la réponse à votre question ?