Utilisation d'autres données de protocole de paiement pour rechercher des commandes

Tel qu'il est fourni, HCL Commerce vous permet d'effectuer une recherche avancée pour les commandes en utilisant les informations du compte de paiement comme critères de recherche. Par exemple, dans la page Rechercher des commandes dans HCL Commerce Accelerator, vous pouvez rechercher des commandes et inclure le numéro de compte du titulaire de la carte dans les critères de recherche. Pour rechercher d'autres types de données de protocole de paiement ou pour inclure d'autres données de protocole de paiement avec le numéro de compte dans le cadre des critères de recherche, vous devez modifier le fichier JSP de recherche de commande utilisé pour effectuer des recherches de commande. Les exemples suivants décrivent comment remplacer une autre zone par le compte et comment ajouter une deuxième zone à utiliser en plus de la zone du compte.

Pourquoi et quand exécuter cette tâche

Les exemples suivants montrent comment modifier le fichier CSROrderSearchB2C.jsp. Vous pouvez étendre les exemples pour apporter des modifications aux fichiers JSP de recherche de commande, tels que CSROrderSearchB2B.jsp.

Les fichiers JSP se trouvent dans le répertoire suivant : workspace_dir\CommerceAccelerator\WebContent\tools\order

Modification de la zone des critères du protocole de paiement

Procédure

  1. Recherchez et modifiez le fichier CSROrderSearchB2C.jsp pour modifier le libellé de commande du compte dans la nouvelle zone. Cet exemple montre le numéro de routage de chèque qui est substitué au compte. Puisque le numéro de routage de chèque entier est saisi à la place des 5 derniers chiffres du compte, l'élément INPUT change également.
    Avant
       
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
           <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
      
    
    Après
       
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("check_routing_number")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="check_routing_number" id="protocolDataName1"/>
           <INPUT type="text" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
      
    
  2. Recherchez et modifiez le fichier OrderLabels*.properties pour ajouter une ligne à la nouvelle zone. Ajoutez la ligne de commande suivante :
    
      check_routing_number=The check routing number
      
    
  3. Assurez-vous que le fichier PaymentSystemPluginMapping.xml est mis à jour pour utiliser les données substituées.
    
    <Keyword name="check_routing_number" searchable="true"/>  
      
    
  4. Pour vérifier que votre modification est réussie, passez une commande de test.

Résultats

Ajout d'une autre zone en plus du compte

  1. Avant
    
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
           <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
    
    Après :
    
        <TR>
          <TD>
           <label for="protocolDataName2"></label>
           <label for="protocolDataValue2"><%=orderLabels.get("cc_brand")%></label>
          </TD>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
            <INPUT type="hidden" name="protocolDataName2" value="cc_brand" id="protocolDataName2"/>
           <SELECT id="protocolDataValue2" name="protocolDataValue2"/>
              <OPTION value="VisaNet" SELECTED>VisaNet</OPTION>
              <OPTION value="Master Card">Master Card</OPTION>
               <OPTION value="AMEX">American Express</OPTION>
             </SELECT> 
          </TD>    
          <TD>
            <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
            <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
    

    L'attribut SELECTED est utilisé pour indiquer quelle doit être la marque de carte de crédit par défaut lorsque la page est affichée pour la première fois. Puisqu'il n'existe qu'une seule valeur par défaut, les lignes des deux autres marques de cartes ne contiennent pas l'attribut.

  2. Modifiez la fonction findAction() dans le fichier CSROrderSearchB2C.jsp pour inclure les données supplémentaires :
    Avant :
        if( !isEmpty(document.orderFindForm.protocolDataValue1.value) ) {
    
      urlPara.paymentDataSize=1;
    
      urlPara.paymentData_name_1=document.orderFindForm.protocolDataName1.value;
      urlPara.paymentData_value_1=document.orderFindForm.protocolDataValue1.value;
      } else {
      urlPara.paymentDataSize=0;
      }
    
    Après :
      if( !isEmpty(document.orderFindForm.protocolDataValue1.value) 
       && !isEmpty(document.orderFindForm.protocolDataValue2.value) ) {
      urlPara.paymentDataSize=2;
      urlPara.paymentData_name_1=document.orderFindForm.protocolDataName1.value;
      urlPara.paymentData_value_1=document.orderFindForm.protocolDataValue1.value;
      urlPara.paymentData_name_2=document.orderFindForm.protocolDataName2.value;
      urlPara.paymentData_value_2=document.orderFindForm.protocolDataValue2.value;
      } else {
      urlPara.paymentDataSize=0; 
      }
      
    
  3. Recherchez et modifiez le fichier OrderLabels*.properties pour ajouter une ligne à la nouvelle zone. Ajoutez la ligne suivante : cc_brand=The brand of the credit card
  4. Vérifiez que le fichier PaymentSystemPluginMapping.xml est mis à jour pour utiliser les données supplémentaires.
    <Keyword name="account" mask="*" plain="-5" searchable="true"/> 
    <Keyword name="cc_brand" searchable="true"/>
    
  5. Pour vérifier que votre modification est réussie, passez une commande de test.