Objectif: créer un fichier *.tag comprenant les informations de disponibilité relatives à un produit (stock).

La page de détail d’un produit dans Hybris embarque un composant addtocart consigné dans un fichier web/webroot/WEB-INF/views/responsive/cms/productaddtocartcomponent.jsp. Ce composant sert de base à l’affichage de plusieurs éléments :

  • un sélecteur de quantité,
  • des informations de disponibilité produit (stock),
  • des actions (boutons d’ajout au panier, retrait en magasin, ajout à la liste de souhaits.

Nous allons extraire les informations de disponibilité produit du composant productaddtocartcomponent.jsp pour les placer dans un fichier tag spécifique web/webroot/WEB-INF/tags/responsive/product/speProductStock.tag. Voici le bout de code à extraire :

Notre tag ne pourra pas être exploité en l’état : il faut intégrer en en-tête la logique […]

Plusieurs choses dans ces en-têtes :

  • <%@ tag body-content="empty" trimDirectiveWhitespaces="true" %>
  • <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • <%@ taglib prefix="theme" tagdir="/WEB-INF/tags/shared/theme" %>
  • <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
  • <%@ attribute name="product" required="true" type="de.hybris.platform.commercefacades.product.data.ProductData" %>
  • <%@ attribute name="divCSS" required="false" %>

Dans un fichier *.tag ou *.jsp :

Va afficher en front :