Autres versions
Vous êtes ici : Développer dans K-Sup → Personnalisation → Front-office
Création d'un template de site
Réalisez vos propres templates afin de personnaliser l'intégration de vos différents sites
Les templates de site sont utilisés pour personnaliser les différents sites de votre application. Il est ainsi possible de définir un template comportant un certain nombre de variables pour différencier l'intégration de chaque site : logo, baseline, identifiant google analytics...
Les templates de sites sont définis à partir d'une configuration Spring. A partir de la configuration, il est possible de :
Pour en ajouter un nouveau, il faut déclarer un bean héritant de TemplateSiteImpl et renseigner les propriétés suivantes :
Afin de limiter la portée d'une propriété à certains templates uniquement, il faut en plus renseigner l'attribut restictionTemplates avec les codes des templates souhaités.
- Définir des nouvelles variables
- Définir de nouveaux templates
- Modifier les templates / variables existants
Définition d'un nouveau template
Les templates doivent être définis dans le fichier de contexte Spring de votre application.Pour en ajouter un nouveau, il faut déclarer un bean héritant de TemplateSiteImpl et renseigner les propriétés suivantes :
- code : le code du template pour l'identifier de manière unique dans l'application
- intitule : l'intitulé du template
- dossierJSP : le chemin du dossier contenant les JSP du template
- description : description du template (ce champ n'est pas obligatoire)
- vignette : vignette pour identifier le template (ce champ n'est pas obligatoire)
<bean id="templateSiteDefaut" class="com.kosmos.usinesite.template.bean.impl.TemplateSiteImpl">
<property name="code" value="jspDefaut"/>
<property name="intitule" value="par défaut"/>
<property name="description" value="Gabarit par défaut fourni avec l'application."/>
<property name="dossierJSP" value="/jsp"/>
</bean>
Définition de propriétés
Ajout de propriétés
Les paramètres saisis dans les templates de site sont aussi des propriétés déclarées dans le fichier de contexte Spring. Chaque propriété est un bean héritant de AbstractTemplateSiteProperty. Suivant les propriétés de site utilisées, différents attributs sont à renseigner dans le bean. Il faut cependant valoriser à minima les champs suivants :- code : Celui-ci permet d'identifier de manière unique la propriété et sera utilisé pour la retrouver dans l'application.
- libelle : libellé pour identifier la propriété dans l'écran de saisie des sites.
- description : description de la propriété
- obligatoire : définit si la propriété doit être obligatoirement renseignée.
Afin de limiter la portée d'une propriété à certains templates uniquement, il faut en plus renseigner l'attribut restictionTemplates avec les codes des templates souhaités.
<bean id="templateSitePropertyFavicon" class="com.kosmos.usinesite.template.property.bean.impl.TemplateSitePropertyFichier">
<property name="code">
<util:constant static-field="com.kportal.ihm.utils.FrontUtil.NOM_PROPRIETE_FAVICON"/>
</property>
<property name="libelle" value="Favicon du site"/>
</bean>
<bean id="templateSitePropertyBaseline" class="com.kosmos.usinesite.template.property.bean.impl.TemplateSitePropertyString">
<property name="code">
<util:constant static-field="com.kportal.ihm.utils.FrontUtil.NOM_PROPRIETE_BASELINE"/>
</property>
<property name="libelle" value="Baseline du site"/>
<property name="restrictionTemplates">
<list>
<value>jspDefaut</value>
</list>
</property>
</bean>
Types de paramètres
Le produit propose par défaut plusieurs types de propriété que vous pouvez utiliser dans vos projets :- TemplateSitePropertyString : Champ texte sur une une ligne
- TemplateSitePropertyListeString : Liste de valeurs saisies par l'utilisateur
- TemplateSitePropertyMultilignes : Champ texte multi-ligne
- TemplateSitePropertyChoixValeur : Choix d'une valeur parmi une liste
- TemplateSitePropertyChoixMultiple : Choix multiple parmi une liste de valeurs
- TemplateSitePropertyFichier : Sélection d'un fichier
- TemplateSitePropertyColor : Sélection d'une couleur
- TemplateSitePropertyRubrique : Sélection d'une rubrique
- TemplateSitePropertyMultiRubrique : Sélection d'une liste de rubriques
Utilisation d'une propriété
Dans vos développements, afin de récupérer la valeur de la propriété saisie dans le site, il faut récupérer le site courant et appeler la méthode getProprieteComplementaire en passant en paramètre le code de la propriété déclarée dans le fichier de contexte.
/**
* Renvoie la baseline défini sur la déclaration du site.
* @return la baseline ou vide si non trouvé.
*/
public static String getBaseline() {
ContexteUniv ctx = ContexteUtil.getContexteUniv();
InfosSite siteCourant = ctx.getInfosSite();
return siteCourant != null ? siteCourant.getProprieteComplementaireString("BASELINE") : StringUtils.EMPTY;
}
Saisie d'une valeur pour la propriété
Une fois déclarées, vos propriétés apparaîtront automatiquement dans l'interface d'administration, dans l'onglet "Template de site" de l'écran de saisie de votre site (voir notre article Créer un site).Mis à jour le 20 avril 2018
Cet article n'est pas à jour ?
Connectez-vous (avec vos identifiants Communauté) pour suggérer une correction ou un complément :