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.
- 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
databeanoffre de meilleures performances que le paramètreorderId, 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
orderTypeoffre de meilleures performances que le paramètreorderId, car la balise du panier n'a pas besoin d'utiliser d'autres ressources pour générer les donnéesorderTypeà 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
databeanou le paramètreorderType.
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
extraparmspour 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ètreextraparms: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 extraparmset 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ètresdatabeanouorderType. 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éthodetoString().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
extraparmslorsque 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
extraparmsMapparamè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'
orderItemIdLa 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 chaqueorderItemIdest 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 :
- 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.
- 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 AnalyticscmCreateShopAction5Tag.