Balise de panier

La balise de panier HCL Commerce recueille des détails sur les articles qu'un client a dans le panier.

Cette balise recueille les données suivantes pour les transmettre à un système d'analyse externe :

  • Numéro de référence du produit
  • Nom du produit
  • Quantité
  • Prix de base
  • Catégorie de produit dans le catalogue que le client parcourt
  • Catégorie de produit dans le catalogue principal
  • Devise
  • Identificateur de magasin

Cette balise peut également transmettre des paramètres supplémentaires pour la personnalisation des balises.

Paramètres

Voici une liste de paramètres requis et facultatifs pour la balise de panier.

Remarque pour IBM Digital Analytics : les paramètres suivants sont pour la balise HCL Commerce <cm:cart />. Cette balise génère la balise de données IBM Digital Analytics cmCreateShopAction5Tag.

Pour transmettre les données du panier répertoriées au début de cette rubrique à un système d'analyse externe, utilisez l'un des paramètres suivants :
databean
Utilisez ce paramètre si votre fichier JSP de page de panier contient déjà un bean de données de commande. Ce paramètre est une instance remplie de com.ibm.commerce.order.beans.OrderDataBean.

L'utilisation du paramètre databean offre de meilleures performances que le paramètre orderId, car la balise du panier n'a pas besoin d'utiliser d'autres ressources pour générer le bean de données à partir de l'orderId.

orderType
Utilisez ce paramètre si votre magasin utilise des services Web pour les fonctions d'exécution des commandes. Ce paramètre est une instance remplie de l'objet com.ibm.commerce.order.facade.datatypes.OrderType.

L'utilisation du paramètre orderType offre de meilleures performances que le paramètre orderId, car la balise du panier n'a pas besoin d'utiliser d'autres ressources pour générer les données orderType à partir de l'orderId.

orderId
Si aucun des deux paramètres précédents ne s'applique, utilisez le paramètre orderId. Ce paramètre est l'ID de commande de la commande. La balise de panier crée automatiquement un bean de données de commande pour obtenir les informations dont le système d'analyse externe a besoin.

Ce paramètre est ignoré si vous utilisez le paramètre databean ou le paramètre orderType.

Pour envoyer des données de taxe au système d'analyse externe, utilisez le paramètre supplémentaire suivant :

includeTaxInUnitPrice
Paramètre facultatif utilisé pour exclure ou inclure conditionnellement la taxe ainsi que le prix unitaire envoyé au système d'analyse externe. La valeur par défaut est false. S'il est défini sur true, le prix unitaire qui est envoyé au système d'analyse externe est la somme du prix unitaire et de la taxe qui est calculée pour le produit particulier.

Pour envoyer plus d'informations au système d'analyse externe, utilisez les paramètres suivants :

extraparms
Paramètre facultatif que vous pouvez utiliser pour envoyer des informations supplémentaires qui s'appliquent à toutes les entrées de catalogue dans la commande au système d'analyse externe. Ce paramètre est fourni pour les scénarios dans lesquels vous avez peut-être négocié avec le fournisseur d'analyse externe pour générer un rapport personnalisé qui nécessite des informations supplémentaires.

Remarque pour  : utilisez le paramètre extraparms pour transmettre les attributs d'exploration et/ou les données pour les rapports personnalisés . Voir Transmission de données supplémentaires à IBM Digital Analytics avec le paramètre extraparms.

Il existe plusieurs façons de transmettre des valeurs à l'aide du paramètre extraparms :
Description Exemple
Spécifiez les valeurs explicites comme JavaScript correctement échappé. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. extraparms="\"value1\", \"value2\""
Spécifiez des valeurs explicites sans échapper les valeurs. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. extraparms="value1, value2"
Spécifiez le contenu dynamique en appelant un nom de méthode. Tout paramètre utilisant extraparms et commençant ou se terminant par le symbole $, par exemple, $getMethod$ est supposé être un nom de méthode de l'objet qui est transmis à l'aide des paramètres databean ou orderType. La seule restriction concernant le nom de la méthode est qu'il ne doit pas prendre d'arguments et que l'objet qui est retourné doit implémenter la méthode toString(). extraparms="$getMethod$"
extraparmsMap
Paramètre facultatif que vous pouvez utiliser pour envoyer des informations supplémentaires qui s'appliquent à des entrées de catalogue spécifiques dans la commande au système d'analyse externe. Ce paramètre est une alternative au paramètre extraparms lorsque vous souhaitez joindre différentes valeurs de paramètres supplémentaires à chaque élément de commande dans le panier d'achat au lieu de joindre la même valeur de paramètre supplémentaire à chaque élément du panier d'achat.

Remarque pour  : utilisez le extraparmsMap paramètre pour transmettre les attributs d'exploration ou les données pour les rapports personnalisés, ou les deux. Voir Comparaison des paramètres supplémentaires pour les balises IBM Digital Analytics.

L'entrée de ce paramètre est un objet de type java.util.Map dans lequel la clé pour chaque entrée de la mappe est l'orderItemId La valeur d'une clé particulière est le paramètre supplémentaire qui est transmis avec l'entrée de catalogue associée à l'élément de commande. La valeur de chaque orderItemId est ajoutée à la liste d'arguments pour la sortie de balise d'analyse de cet élément de commande particulier.

Voici l'exemple de code pour créer un objet java.util.HashMap à transmettre en tant que valeur pour le paramètre extraparmsMap :

<wcf:getData type="com.ibm.commerce.order.facade.datatypes.OrderType" 
var="orderForAn" expressionBuilder="findByOrderId" scope="request">
<wcf:param name="accessProfile" value="IBM_Details" />
<wcf:param name="orderId" value="${WCParam.orderId}" />
</wcf:getData>

<%
java.util.HashMap map = new java.util.HashMap();
com.ibm.commerce.order.facade.datatypes.OrderType 
ord = (com.ibm.commerce.order.facade.datatypes.OrderType) 
pageContext.getAttribute

("orderForAn",PageContext.REQUEST_SCOPE);
java.util.List orderItemList = ord.getOrderItem();
java.util.Iterator itr = orderItemList.iterator();
int i = 1;
while (itr.hasNext()) {
com.ibm.commerce.order.facade.datatypes.OrderItemType 
orderItemObj = (com.ibm.commerce.order.facade.datatypes.OrderItemType) itr.next();
String id = orderItemObj.getOrderItemIdentifier().getUniqueID();
map.put(id, "value" + i+ ".0-_-value" + i+ ".1");
i++;
}
pageContext.setAttribute("eMap",map);
%> 

Versions des balises

HCL Commerce fournit deux versions de la balise du panier :

  1. Classe d'implémentation de balise de base abstraite : com.ibm.commerce.bi.taglib.CartBaseTagcom.ibm.commerce.store.bi.taglib.CartJSONBaseTag. Les fournisseurs d'analyse qui souhaitent fournir une balise de panier dans leur bibliothèque de balises JSP d'analyse Web peuvent étendre cette classe de balises de base pour obtenir les données du panier d'achat et implémenter leur propre logique pour générer les API de balisage de paniers spécifiques au fournisseur.
  2. Une implémentation par défaut de la balise de panier (<cm:cart />) pour IBM Digital Analytics. Cette implémentation génère automatiquement la balise de données IBM Digital Analytics cmCreateShopAction5Tag.