aller au contenu
20/07/2018

Définir le renderer d'un composant.

Javlo permet d'associer un ou plusieurs renderer (un fichier jsp) à un composant, ce dernier pouvant varier suivant la configuraiton et de sa position.

fichier de référence

nom du fichier :  /component-config/#COMP_TYPE#.properties

Un fichier ayant comme nom le type du composant avec l'extension .properties donne la liste des renderer (ainsi que d'autres options).  La clé pour un renderer commence toujours par "renderer.".

Exemple de références à des renderer

renderer.products=/jsp/components/page-reference/product_list.jsp?image=false
renderer.products-image=/jsp/components/page-reference/product_list.jsp?image=true
renderer.products-hover=/jsp/components/page-reference/product_hover.jsp
renderer.square=/jsp/components/page-reference/square.jsp

Il est possible de changer de renderer en fonction de l'area dans la quel le composant se trouve.

renderer.square.#area#=/jsp/components/page-reference/square_side.jsp

creer un renderer

exposé en jstl, par défault, d'autres élèments peuvent être exposé par un composant spécifique :

  • comp : l'instance du composant (extend IContentVisualComponent)
  • compPage : the current page (PageBean)
  • style : style
  • value : raw value
  • type : le type du composant
  • compid : id du composant
  • renderer : renderer actif
  • previewAttributes : class et id pour l'édition du composant
  • previewCSS : class css pour éditer le composant + class css du composant
  • previewClass : class css pour éditer le composant
  • previewID : id pour l'édition du composant
  • cssStyle : style configurer dans le composant
  • cssClass : class configurer dans le composant
  • manualCssClass :  class ajouter manuellement dans le composant
  • previousSame : true si le composant précédant est du même type
  • nextSame : true si le composant suivant est du même type
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"
%><a href="${url}" id="${previewID}" class="${comp.style} ${previewCSS}">${label}</a>