HCL Commerce Enterprise

Modification du contrat par défaut

Pour modifier le contrat par défaut sans recourir à l'interface graphique, il est nécessaire d'exporter le contrat par défaut, de modifier le fichier XML du contrat, puis d'importer le contrat modifié.

Procédure

  1. Entrez la commande SQL ci-dessous pour extraire l'ID de contrat et l'ID de magasin.
    
    select contract_id, store_id from storedef where store_id 
    = (select storeent_id from storeent where identifier =
    'ConsumerDirect'); 
    
  2. Exportez le contrat par défaut sous forme de fichier XML.

    Utilisez contract_id extrait à l'étape 1 pour exporter le fichier ConsumerDirectDefaultContract.xml dans le répertoire workspace_dir\WC\xml\trading\xml.

    1. Ajoutez le contenu suivant au fichier struts-config-ext.xml (pour la version 9.0.0.x de HCL Commerce) ou struts-wcs-stores-custom.xml (pour la version 9.0.1.0+) avant la balise </action-mappings> :
      Pour la version 9.0.0.x :
      
      <action 
                 parameter="com.ibm.commerce.contract.commands.ContractExportCmd" 
                  path="/ContractExport"
                  type="com.ibm.commerce.struts.BaseAction"> 
               <set-property property="authenticate"
                          value="0:0"/> 
               <set-property property="https" value="0:1"/> 
              </action>
      
      <action 
          class="com.ibm.commerce.struts.v2.BaseAction" 
          name="ContractExport">
      <param name="parameter">com.ibm.comerce.contract.commands.ContractExportCmd</param>
      <param name="authenticate">0:0</param>
      <param name="https">0:1</param>
      </action>
    2. Régénérez le registre de configuration Struts dans la console d'administration ou redémarrez le serveur.
  3. Modifiez le contrat par défaut afin d'y inclure le mode de paiement.
    1. Modifiez le fichier ConsumerDirectDefaultContract.xml. A la fin de la balise </BuyerContract>, ajoutez les modalités de paiement (Payment TC).
      
       <!-- Payment TC --> 
      
      <PaymentTC mandatory = "false" changeable = "false" >
      <PaymentMethod>
      <PaymentPolicyRef policyName = "PayLater">
      <StoreRef name = "ConsumerDirect">
      <Owner>
      <OrganizationRef distinguishName = "ou=b2c,o=seller
      organization,o=root organization"/>
      </Owner>
      </StoreRef>
      </PaymentPolicyRef>
      <PaymentMethodDisplayString name = "Pay Later"/>
      </PaymentMethod>
      </PaymentTC>
      
    2. Exécutez la commande SQL pour extraire le nom de la stratégie.
      
      select policyname from policy where policy_id=?;
      
    3. Exécutez la commande SQL pour extraire la référence du magasin.
      
      select identifier from storeent where store_id=?;
      
    4. Exécutez la commande SQL pour extraire le nom distinctif.
      select dn from orgentity where orgentity_id in (select member_id
      from storeent where storeent_id=storeent_id); 

    PaymentMethodDisplayString est le nom affiché du mode de paiement lorsque vous sélectionnez le mode de paiement dans le flux des commandes.

    La colonne des propriétés de la table de stratégie relative à la stratégie de paiement est semblable à ce qui suit :
    attrPageName=StandardVisa&paymentConfigurationId=default&display=false&compatibleMode=false
    Vous trouverez StandardVisa.jsp (valeur de la propriété attrPageName) dans le répertoire store\ShoppingArea\CheckoutSection\StandardCheckoutSubsection. S'il ne s'y trouve pas, vous devez le copier à cet emplacement.
  4. Dans le fichier ConsumerDirectDefaultContract.xml, modifiez la valeur de minorVersionNumber en l'augmentant de un I.
    
    <ContractUniqueKey name = "ConsumerDirect Default Contract" 
    majorVersionNumber = "1" minorVersionNumber = "1" origin =
    "Manual"> 
    <ContractOwner> 
    <OrganizationRef distinguishName = "o=seller organization,o=root
    organization"/> 
    </ContractOwner> 
    </ContractUniqueKey> 
    
  5. Importez le contrat par défaut. Avec l'utilitaire utilisé à l'étape 2, importez un contrat actif à l'aide du fichier ConsumerDirectDefaultContract.xml ; le magasin cible correspond à l'ID de magasin extrait à l'étape 1.
  6. Pour vérifier si le mode de paiement a été créé, créez une commande dans la page de récapitulatif des commandes. Le mode de paiement se présente comme suit :

    Capture d'écran du nouveau mode de paiement