Les layouts de la charte dépendent de régions. Il existe un ensemble par défaut de régions qui peut être modifié à l'aide du mécanisme des customizers afin de pouvoir en ajouter, en modifier ou même en supprimer afin d'éviter le calcul de régions inutilisées.
Les régions par défaut sont les suivantes :
header-metadata | Métadonnées de l'entête de la page HTML. |
---|---|
toolbar | Barre d'outils, pouvant contenir les outils d'administration. |
search | Zone de recherche. |
tabs | Barre d'onglets. |
breadcrumb | Fil d'Arianne. |
footer | Pied de page. |
L'administrateur dispose d'une région supplémentaire non modifiable : "pageSettings".
L'objet contenant l'ensemble des régions devant être calculées implémente l'interface org.osivia.portal.api.theming.IRenderedRegions. Cette interface présente les deux méthodes suivantes, permettant l'ajout, la modification et la suppression de régions :
boolean defineRenderedRegion(String regionName, String regionPath);
boolean removeRenderedRegion(String regionName);
Le chemin des régions ajoutées ou modifiées doit commencer par un "/", et ce chemin est relatif au dossier "webapp" du projet courant.
Exemple de modification de la région "toolbar" par défaut :
public void customize(String customizationID, CustomizationContext context) {
Map<String, Object> attributes = context.getAttributes();
IRenderedRegions renderedRegion = (IRenderedRegions) attributes.get(IRenderedRegions.CUSTOMIZER_ATTRIBUTE_RENDERED_REGIONS);
renderedRegion.defineRenderedRegion("toolbar", "/header/toolbar.jsp");
}