HCL Commerce Version 9.1.10.0 or later

Modification du magasin pour afficher la marge bénéficiaire uniquement dans l'aperçu du magasin

Dans cette leçon, vous personnalisez le magasin type Aurora pour afficher la marge bénéficiaire des produits recommandés dans l'aperçu du magasin uniquement. Vous devez configurer la zone de la marge bénéficiaire pour mapper les zones dans UserData du nom CatalogNavigationViewType. Ce nom est utilisé pour les résultats de recherche. Une fois le mappage terminé, les zones peuvent être extraites pour être affichées dans le magasin type Aurora.

Etant donné que la marge bénéficiaire est liée au prix, mettez à jour le widget de niveau site de recommandation de produits de votre magasin pour afficher la marge bénéficiaire après le prix de vente. En mettant à jour le widget de niveau site, le changement a lieu pour tous les magasins.

Procedure

  1. Dans la vue Explorateur d'entreprise, crs-web > WebContent > Widgets_801 > com.ibm.commerce.store.widgets.CatalogEntryRecommendation.
  2. Ouvrez le fichier CatalogEntryRecommendation_Data.jspf pour l'éditer.
  3. Localisez le code suivant :
     <wcf:rest var="catalogNavigationView1" url="${searchHostNamePath}${searchContextPath}/store/${WCParam.storeId}/productview/byIds" > <c:forEach var="id" items="${catentryIdQueryList}"> <wcf:param name="id" value="${id}"/> </c:forEach> <wcf:param name="langId" value="${langId}" /> <wcf:param name="currency" value="${env_currencyCode}" /> <wcf:param name="responseFormat" value="json" /> <wcf:param name="catalogId" value="${WCParam.catalogId}" /> <wcf:param name="profileName" value="IBM_findProductByIds_Summary" /> <c:forEach var="contractId" items="${env_activeContractIds}"> <wcf:param name="contractId" value="${contractId}"/> </c:forEach> </wcf:rest> 
  4. Modifiez la valeur profileName pour qu'elle corresponde à votre nouveau profil de recherche.
    Par exemple, X_findCatalogEntryProfitMargin.
     <wcf:rest var="catalogNavigationView1" url="${searchHostNamePath}${searchContextPath}/store/${WCParam.storeId}/productview/byIds" > <c:forEach var="id" items="${catentryIdQueryList}"> <wcf:param name="id" value="${id}"/> </c:forEach> <wcf:param name="langId" value="${langId}" /> <wcf:param name="currency" value="${env_currencyCode}" /> <wcf:param name="responseFormat" value="json" /> <wcf:param name="catalogId" value="${WCParam.catalogId}" /> <wcf:param name="profileName" value="X_findCatalogEntryProfitMargin" /> <c:forEach var="contractId" items="${env_activeContractIds}"> <wcf:param name="contractId" value="${contractId}"/> </c:forEach> </wcf:rest> 
  5. Développez crs-web > WebContent > Widgets_801 > Common > PriceDisplay.
  6. Ouvrez le fichier PriceDisplay_Data.jspf pour l'éditer.
  7. Définissez la nouvelle variable de marge bénéficiaire pour le widget d'affichage des prix en ajoutant le code suivant à la fin du fichier.
     <c:set var="profitMargin" value="" /> <c:if test="${env_inPreview && !env_storePreviewLink}"> <c:forEach var="userData" items="${catalogEntryDetails.UserData}" > <c:if test="${!empty userData.ProfitMargin}"> <c:set var="profitMargin" value="${userData.ProfitMargin}" /> </c:if> </c:forEach> </c:if> 
  8. Ouvrez le fichier PriceDisplay_UI.jspf pour l'éditer.
  9. Définissez l'affichage de la marge bénéficiaire dans l'aperçu du magasin uniquement pour le widget d'affichage des prix en ajoutant le code suivant à la fin du fichier :
     <c:if test="${env_inPreview && !env_storePreviewLink}"> <c:if test="${!empty profitMargin}"> <div> Profit Margin: ${profitMargin}% </div> </c:if> </c:if> 
    Note: La marge bénéficiaire s'affiche uniquement dans l'aperçu du magasin et uniquement si la valeur existe et n'est pas vide. En outre, profitMargin est l'exemple de nom de zone d'index utilisé dans ce tutoriel. Assurez-vous d'utiliser le même nom de zone d'index que vous avez défini lorsque vous avez mis à jour votre fichierx-schema.xml de recherche.
  10. Sauvegardez et fermez tous les fichiers.
    Note: Si vous modifiez directement les fichiers .jspf dans le conteneur Docker, modifiez le fichier server.xml et définissez recompileJspOnRestart = ”true” sur jspEngine comme indiqué ci-dessous :
    <jspEngine disableResourceInjection="true" recompileJspOnRestart="true"></jspEngine> <basicRegistry></basicRegistry> <enterpriseApplication id="crs" location="crs.ear" name="crs"> <classloader apiTypeVisibility="spec,ibm-api,third-party" /> </enterpriseApplication> 

    Redémarrez le service Store.

  11. Ouvrez votre vitrine dans l'aperçu du magasin, accédez à n'importe quelle page de catégorie secondaire et vérifiez que la marge bénéficiaire s'affiche après le prix de vente.
    Par exemple, si vous accédez à la page de la catégorie Femmes, votre widget de recommandation de produit peut ressembler à la capture d'écran suivante.
    Page de catégorie qui affiche la marge bénéficiaire.

What to do next

Vous devez tester votre personnalisation pour vous assurer qu'elle est terminée.