Loading
Premiers pas avec B2C Commerce
Résolution des problèmes du Storefront Toolkit dans B2C Commerce

Résolution des problèmes du Storefront Toolkit dans B2C Commerce

Résolvez certains problèmes courants liés à Storefront Toolkit. Cette rubrique concerne B2C Commerce.

Les instructions JavaScript du Storefront Toolkit figurent avant la première balise JavaScript contenue dans la section <head> du code HTML de votre boutique en ligne. Si la section <head> du code HTML ne contient pas de JavaScript, les instructions JavaScript du Storefront Toolkit sont insérées à la fin de la section <head>.

Le tableau suivant répertorie certains des problèmes courants liés à l'utilisation de Storefront Toolkit, ainsi que leurs solutions potentielles.

Problème Solution
Vous essayez d'ouvrir une page dans Storefront Toolkit et vous recevez un message vous signalant l'échec de l'initialisation du toolkit.
  • Vérifiez que vous avez bien configuré l'hôte HTTPS et que les alias du nom d'hôte pointent vers l'instance correcte à l'aide du DNS. Voir Alias de noms d'hôte.
  • Cliquez sur Storefront pour l'ouvrir. Vérifiez que l'URL de la boutique utilise le protocole HTTPS. Si le navigateur affiche une erreur concernant un certificat non valide, autorisez une exception pour le certificat.
  • Supprimez les sections CDATA du code HTML de votre boutique. Storefront Toolkit ne prend pas en charge CDATA.
L'outil Informations sur le contenu n'affiche pas les balises des produits et du contenu.

Il est possible qu'il manque des marqueurs de page dans le code HTML. Ajoutez <!-- dwMarker="content" dwContentID="${pdict.Content.UUID}" --> lors du rendu des éléments de contenu et <!-- dwMarker="product" dwContentID="${Product.UUID}" --> lors du rendu des produits.

La fenêtre de résultats de la recherche ou Modèle de recherche de produit n'est pas disponible. Vérifiez que la balise isobject est implémentée correctement. Voir Activer l'outil Informations sur la recherche pour Storefront Toolkit dans B2C Commerce.
Les outils Storefront Toolkit n'affichent aucune information. Il est possible que le réseau de diffusion de contenu (CDN) supprime les commentaires HTML. Désactivez cette fonction dans le CDN. Si vous utilisez Cloudflare, consultez Comment minifier HTML, CSS et JavaScript pour optimiser mon site ?
Le toolkit affiche une boutique vide.

Si votre code inclut un système antidétournement de clics, le contenu de la page peut être masqué lorsqu’il est ouvert dans une iframe. Pour résoudre ce problème, nous recommandons d'ajouter une préférence de site personnalisée pour désactiver cette fonction sur les instances Staging ou Sandbox. Pour en savoir plus, reportez-vous à la rubrique Détournement de clics.

Les URL construites à l'aide des méthodes suivantes de dw.web.URLUtils n'ont pas le fonctionnement attendu :

  • url
  • http
  • https
  • abs

Storefront Toolkit ajoute un paramètre de contournement du cache aux URL. Par exemple, vous utilisez URLUtils.url pour construire une URL avec un paramètre comme celui-ci : URLUtils.url(”Pipeline-Start”) + “?param=value”.

L'URL qui en résulte est la suivante : https://example.com/on/demandware.store/Sites-MySite-Site/default/Pipeline-Start?__sftkCacheBuster=1593615552718?param=value.

L'URL ne fonctionne pas comme prévu et peut entraîner des problèmes dans la boutique en ligne selon l'emplacement où vous l'utilisez.

Utilisez URLUtils comme dans cet exemple pour transmettre un paramètre d'URL : URLUtils.url("Pipeline-Start", "param", "value").

Si vous utilisez Storefront Toolkit, l'URL qui en résulte est la suivante : https://example.com/on/demandware.store/Sites-MySite-Site/default/Pipeline-Start?__sftkCacheBuster=1593615552718&param=value. L'URL comporte le caractère & au lieu de ? avant param. Lorsque vous n'utilisez pas Storefront Toolkit, l'URL résultante est https://example.com/on/demandware.store/Sites-MonSite-Site/default/Pipeline-Start?param=value.

Storefront Toolkit disparaît lorsque vous cliquez sur un lien.

Vérifiez si vous utilisez des liens qui incluent un attribut target=”_ top”, comme dans cet exemple :

<a href="/example/link" target="_top">Un exemple de lien</a>

L'attribut target=”_top” oblige le navigateur à ouvrir le lien dans le cadre supérieur, Storefront Toolkit n'est donc pas visible.

La boutique n’apparaît pas dans Storefront Toolkit, ou la barre d’outils de Storefront Toolkit ne s'affiche pas.

Les scripts ClickJack Protection ou Anti-ClickJack peuvent provoquer ces erreurs. Le « ClickJacking » désigne un acteur malveillant qui affiche votre site web dans une iframe sous son contrôle. L’attaquant peut intercepter les événements de saisie pour voir les informations, notamment les mots de passe ou les numéros de carte de crédit, saisies par un utilisateur.

Au lieu d’utiliser des scripts, pour empêcher le clickjacking, incluez les en-têtes HTTP suivants dans votre boutique : X-Frame-Options: DENY et Content-Security-Policy: frame-ancestors ‘none’.

Utilisez le code suivant dans votre boutique en ligne pour configurer ces en-têtes :

response.setHttpHeader("X-Frame-Options", "DENY");
response.setHttpHeader("Content-Security-Policy", "frame-ancestors 'none');
Lorsque vous cliquez sur un lien du Storefront Toolkit, vous êtes invité à vous connecter à l’instance et la connexion échoue. Assurez-vous d’utiliser le nouveau Storefront Toolkit. La version obsolète du Storefront Toolkit ne fonctionne pas de manière fiable si elle est combinée avec l'authentification unique.
Cliquer sur un lien « Edit Content Asset in Business Manager » ouvre la boîte de dialogue de création d’un nouvel élément de contenu au lieu de la boîte de dialogue de modification de la ressource existante.

Cherchez le marqueur de page dans votre code personnalisé :

<!-- dwMarker="content" dwContentID="${pdict.Content.UUID}" -->

L’expression utilisée pour le dwContentID peut être différente. Assurez-vous que l’expression correspond bien à l’identificateur universel unique (UUID) de l’élément de contenu.

Vous avez essayé toutes les solutions, mais Storefront Toolkit ne fonctionne toujours pas. Désactivez-le et effacez le cache de la page.
 
Chargement
Salesforce Help | Article