Personnalisation des pages JSP de vitrine à l'aide de la balise getData

Les fichiers JSP peuvent récupérer et afficher des informations à partir des services HCL Commerce à l'aide de la balise getData.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Conseil : Les pages du magasin type, tel que pour la vente grand public, utilisent le modèle de programmation à beans de données pour la récupération de données. Par exemple, les pages de magasin type existantes, comme ProductDisplay.jsp, n'utilisent pas la balise getData. Toutefois, vous pouvez ajouter des balises getData à ces pages pour récupérer des informations supplémentaires à partir de vos services HCL Commerce.

Procédure

  1. Ouvrez HCL Commerce Developer.
  2. Dans la vue Explorateur d'entreprise, accédez à Magasins > WebContent > Store Name. Continuez à naviguer jusqu'au sous-dossier où se trouve le fichier JSP à personnaliser.
  3. Recherchez la section de la page où vous souhaitez récupérer des données et ajoutez une balise getData, similaire à l'exemple suivant.

    Dans cet exemple, la balise getData remplit une variable nommée catentries avec les données renvoyées par un générateur d'expression personnalisé nommé getCatalogEntryWithWarranty. Le profil d'accès personnalisé MyCompany_All est fourni en tant que paramètre pour contrôler la quantité de données renvoyées sur chaque objet.

    <wcf:getData var="catentries" type="com.ibm.commerce.catalog.facade.datatypes.CatalogEntryType[]" 
                 expressionBuilder="getCatalogEntryWithWarranty">
    <wcf:contextData name="storeId" data="${WCParam.storeId}"/>
    <wcf:contextData name="catalogId" data="${WCParam.catalogId}"/>
    <wcf:contextData name="langId" data="${WCParam.langId}"/>
    <wcf:param name="catalogEntryId" value="${WCParam.catalogEntryID}"/>
    <wcf:param name="accessProfile" value="MyCompany_All"/>
    </wcf:getData>
    
    Pour plus d'informations sur la balise getData, voir Balise : getData.
  4. Facultatif : Si la balise getData renvoie une collection d'objets, vous pouvez les itérer à l'aide d'une balise de boucle forEach, similaire à l'exemple suivant :
    <c:forEach var="catalogEntry" items="${catentries}">
    <!-- present details about each catalogEntry object in catentries -->
    </c:forEach>