Modifier le fichier

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.properties dans les sources d'un projet
  • env_panier.properties dans 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écifiqueDescriptionParamètreFormat de donnéeValeur par défaut
tailleDéfinit la taille maximum du panier.panier.TYPE_PANIER.tailleNombre entier. Valeur "-1" si la taille du panier est infinie.-1
actifDé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.actifBooléen qui est soit false (le panier est désactivé) ou true (le panier est activé).true
modaleDéfinit si le panier utilise les modales de renommage et de confirmation de suppression d'un item.panier.TYPE_PANIER.modaleBooléen qui est soit false (le panier n'utilise pas les modales) ou true (le panier utilise les modales).false
drag-n-dropDé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-dropBooléen qui est soit false (le panier n'utilise pas le drag'n drop) ou true (le panier utilise le drag'n drop).false
comportementDé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.comportementChaîne de caractère qui est soit BDD ou SESSION.BDD (favoris)/SESSION (boutique)
quantifiableDéfinit si le panier est quantifiable. Cela signifie qu'on peut ajouter plusieurs fois le même item dans un panier.panier.TYPE_PANIER.quantifiableBooléen qui est soit false (le panier n'est pas quantifiable) ou true (le panier est quantifiable).false (favoris)/true (boutique)
typeFicheAutoriseDéfinit la liste des objets pouvant etre ajoutés au panier.panier.TYPE_PANIER.type-fiche-autoriseListe de codes fiche séparées par des virgules sans espaces.
typeFicheExcluDéfinit la liste des objets étant par défaut exclu du panier.panier.TYPE_PANIER.type-fiche-excluListe 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.