Création d'une zone de propriétés dans le Centre de gestion

Dans l'outil Filtre de catalogue et tarification, vous pouvez activer une zone personnalisable dans la vue de propriétés affichant une liste de prix. Vous pouvez utiliser la zone supplémentaire pour présenter à vos clients des offres et des remises pour certaines régions.

Pourquoi et quand exécuter cette tâche

L'exemple ci-après montre comment ajouter une colonne Region à la vue de propriétés d'une liste de prix dans l'outil Filtre de catalogue et tarification. Exemple de vue de propriétés d'une liste de prix dans l'outil Filtre de catalogue et tarification.

Procédure

  1. Dans l'interface utilisateur du Centre de gestion, activez la colonne FIELD1 et renommez FIELD1 en Region.
    1. Editez le fichier PriceListPrimaryObjectDefinition.def afin de modifier l'interface utilisateur pour ajouter la colonne FIELD1 ou Region au Centre de gestion.
    2. Accédez à WCDE_installdir\LOBTools\WebContent\config\commerce\price\objectDefinitions et ouvrez le fichier PriceListObjectDefintion.def.
    3. Localisez la ligne de code suivante :
      <ServiceParam name=qualifier propertyName=qualifier
      </DeleteService> 
      
    4. Ajoutez la ligne de code directement après : <PropertyDefinition displayName=field propertyName=x_field required=true/>. Enregistrez et fermez le fichier.
    5. Accédez à WCDE_installdir\LOBTools\WebContent\config\commerce\price\listViewDefinitions et ouvrez le fichier PriceListListView.def.
    6. Recherchez le code suivant : <GridNumeric editable=true name=maximumQuantity propertyName=maximumQuantity text=$(catalogResources.maximumQuantity)/>
    7. Ajoutez la ligne de code directement après : <GridText editable=true name=x_field text=field visible=true width=100/>.
    La colonne field est désormais affichée sur l'onglet Gérer la liste de prix, dans l'outil Filtre de catalogue et tarification.
  2. Modifiez le fichier de mappage du Centre de gestion.
    1. Accédez au dossier WCDE_installdir\LOBTools\WebContent\WEB-INF\config\com.ibm.commerce.price et ouvrez le fichier wc-price-clientobjects.xml.
    2. Recherchez le code suivant : <_config:URLParameter name=storeId nounElement=/PriceListIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID />.
    3. Ajoutez la ligne de code directement à la suite du code de l'étape 2.b. : <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    4. Localisez le code suivant dans le même fichier : <_config:URLParameter name=/storeId nounElement=PriceListIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID />.
    5. Ajoutez la ligne de code directement à la suite du code de l'étape 2.d. : <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    6. Localisez le code suivant dans le même fichier : <_config:URLParameter name=priceListId nounElement=/PriceListIdentifier/UniqueID key=true return=true />.
    7. Ajoutez la ligne de code directement à la suite du code de l'étape 2.f. : <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    8. Redémarrez le serveur de test pour répercuter la modification apportée au fichier XML.
  3. Personnalisez la logique côté serveur pour afficher la nouvelle zone Region dans le Centre de gestion.
    1. Sélectionnez la commande d'entrée de prix à modifier pour afficher la nouvelle zone Region .
    2. Dans la zone userData, mettez à jour la valeur field avec le nom de propriété.
      Par exemple, pour renommer la propriété en Region, mettez à jour field pour indiquer region.
      
         for (Map.Entry<String, String> entrys : userDataFields
                 .entrySet()) {
             System.out.printIn(userdata  + entrys.getKey()
                           +  value   + entrys.getValue ());  
         }
      } else {
          userData = CommerceFoundationFactory.eINSTANCE
                  .createUserDataType();
      }
      userData.getUserDataField() .put(field, 123;
      
      priceEntry.setUserData (userData);
      }
           
    3. Accédez au dossier WCDE_installdir\LOBTools\WebContent\WEB-INF\config\com.ibm.commerce.price et ouvrez le fichier SerializePriceEntry.jspf.
    4. Recherchez le code suivant : <defaultStoreCurrency>${priceEntry.price.price/currency}</defaultStoreCurrency>
    5. Ajoutez le code suivant directement avant le code que vous avez localisé :
      <c:forEach var=userDataField items=$(priceEntry.userData.userDataField)>
            <x_${userDataField.typedKey}><wcf:cdata data=userDataField.typedValue}/></x${userDataField.typedKey}>
      </c:forEach>