Paramétrage de l'extension Panier
Le paramétrage de l'extension est réalisé dans le fichier panier.properties.
Surcharge
La surcharge des propriétés peut se faire en créant un fichier :
application_panier.propertiesdans les sources d'un projetenv_panier.propertiesdans le répertoire de configuration d'un environnement (référencé par la propriétéconf.dir)
Propriétés
Dans l'extension Panier,les propriétés s'appliquent que pour un type de panier donné.
| Propriété spécifique | Description | Paramètre | Format de donnée | Valeur par défaut |
|---|---|---|---|---|
| taille | Définit la taille maximum du panier. | panier.TYPE_PANIER.taille | Nombre entier. Valeur "-1" si la taille du panier est infinie. | -1 |
| actif | Définit si le panier est actif. Cela permet de désactiver dans le projet un panier activé par défaut dans le produit. | panier.TYPE_PANIER.actif | Booléen qui est soit false (le panier est désactivé) ou true (le panier est activé). | true |
| modale | Définit si le panier utilise les modales de renommage et de confirmation de suppression d'un item. | panier.TYPE_PANIER.modale | Booléen qui est soit false (le panier n'utilise pas les modales) ou true (le panier utilise les modales). | false |
| drag-n-drop | Définit si le drag'n drop est autorisé sur la vue liste d'un panier pour réordonnancer les items présents. | panier.TYPE_PANIER.drag-n-drop | Booléen qui est soit false (le panier n'utilise pas le drag'n drop) ou true (le panier utilise le drag'n drop). | false |
| comportement | Définit le mode de persistance d'un panier dans l'application. Un mode BDD permettra l'enregistrement en base de données du panier tandis qu'un mode SESSION enregistrera le panier dans la session utilisateur (supprimée lors de la fermeture du navigateur). | panier.TYPE_PANIER.comportement | Chaîne de caractère qui est soit BDD ou SESSION. | BDD (favoris)/SESSION (boutique) |
| quantifiable | Définit si le panier est quantifiable. Cela signifie qu'on peut ajouter plusieurs fois le même item dans un panier. | panier.TYPE_PANIER.quantifiable | Booléen qui est soit false (le panier n'est pas quantifiable) ou true (le panier est quantifiable). | false (favoris)/true (boutique) |
| typeFicheAutorise | Définit la liste des objets pouvant etre ajoutés au panier. | panier.TYPE_PANIER.type-fiche-autorise | Liste de codes fiche séparées par des virgules sans espaces. | |
| typeFicheExclu | Définit la liste des objets étant par défaut exclu du panier. | panier.TYPE_PANIER.type-fiche-exclu | Liste de codes ficheséparées par des virgules sans espaces. |
Un certain nombre de propriétés sont déjà définies pour des types de paniers existant. Actuellement l'application définit deux paniers :
- Un panier de type FAVORIS non quantifiable, de taille infinie et qui se persiste en base de données.
- Un panier de type BOUTIQUE quantifiable, de taille infinie et qui se persiste en session.
Par défaut, le drag'n drop et les modales sont désactivées pour tous les paniers. Tous les paniers définis dans les produits sont actifs par défaut.
Suggestion de configuration
Voici une suggestion de la configuration des propriétés vues ci-dessus pour les besoins du projet :
[source,properties]
panier.BOUTIQUE.actif=0 panier.FAVORIS.modale=1 panier.FAVORIS.drag-n-drop=1
Creation d'un nouveau type de Panier
Pour pouvoir utiliser un nouveau panier, il est nécessaire de déclarer son ban ainsi que les beans des services de fichePanier et Panier. Voici une suggestion de déclaration pour un panier Favoris :
[source, xml]
<bean id="favorisPanier" class="com.kosmos.panier.bean.PanierDefinitionBean">
<property name="type" value="FAVORIS"/>
<property name="taille" value="${panier.FAVORIS.taille:-1}"/>
<property name="actif" value="${panier.FAVORIS.actif:true}"/>
<property name="typeFicheAutorise" value="${panier.FAVORIS.type-fiche-autorise:}"/>
<property name="typeFicheExclu" value="${panier.FAVORIS.type-fiche-exclu:0030}"/>
<property name="comportement" value="${panier.FAVORIS.comportement:BDD}"/>
<property name="quantifiable" value="${panier.FAVORIS.quantifiable:false}"/>
<property name="dragAndDrop" value="${panier.FAVORIS.drag-n-drop:true}"/>
<property name="modale" value="${panier.FAVORIS.modale:false}"/>
</bean>
<bean id="serviceFichePanierFavoris" class="com.kosmos.panier.service.impl.ServiceFichePanierBDDImpl">
<property name="panierDefinitionBean" ref="favorisPanier"/>
<property name="dao" ref="fichePanierDao"/>
</bean>
<bean id="servicePanierFavoris" class="com.kosmos.panier.service.impl.ServicePanierBDDImpl">
<property name="dao" ref="panierDao"/>
<property name="panierDefinitionBean" ref="favorisPanier"/>
<property name="serviceFichePanier" ref="serviceFichePanierFavoris"/>
<property name="serviceMetatag" ref="serviceMetatag"/>
</bean>
Les propriétés du panier Favoris seront surchargeable en projet.