Migration du projet Web de magasin Aurora IBM Websphere Commerce Version 8

Pour migrer votre magasin IBM Websphere Commerce Version 8 vers HCL Commerce Version 9.1, exportez votre projet Stores depuis votre IBM Websphere Commerce Version 8, puis importez le projet dans votre environnement de développement HCL Commerce Version 9. Configurez ensuite votre projet de magasin importé pour HCL Commerce Version 9.1.

Le processus de migration de magasin implique d'exporter les ressources suivantes sous forme de fichiers d'archivage, puis d'importer ces derniers :
  • Les ressources de magasin statiques personnalisées
  • Le code Java personnalisé
  • Fichiers JSP personnalisés
Les magasins qui sont migrés de IBM Websphere Commerce Version 7 ou de IBM Websphere Commerce Version 8 à HCL Commerce Version 9.1 sont déployés sur le Transaction server, où ils traitent le trafic en direct. Les magasins créés sur HCL Commerce Version 9.1 suivent le nouveau modèle de programmation et sont déployés sur un Store server distinct. Pour plus d'informations sur la migration ou la création d'un magasin sur HCL Commerce Version 9.1, voir :

Procédure

  1. Exportez le projet Web dynamique de magasins à partir d'un espace de travail d'environnement de développement IBM Websphere Commerce Version 8.
    1. Ouvrez l'espace de travail d'environnement de développement IBM Websphere Commerce Version 8 puis la perspective J2EE.
    2. Dans la vue Explorateur d'entreprise, cliquez avec le bouton droit sur le projet Stores, puis cliquez sur Exporter > Exporter....
      La fenêtre Exporter s'affiche.
    3. Développez le dossier General, puis cliquez sur Fichier d'archivage > Suivant.
    4. Sous le répertoire Stores, sélectionnez les sous-répertoires suivants.
      • WebContent
      • src
    5. Définissez un chemin où le fichier d'archive doit être exporté.
      Par exemple, c:\stores.zip.
    6. Sous Options, assurez-vous que les options d'exportation suivantes sont définies.
      • Sauvegarder au format zip
      • Comprimer le contenu du fichier
      • Créer uniquement les répertoires sélectionnés
    7. Cliquez sur Terminer.
      Un fichier Stores.zip est créé et est prêt à être importé dans votre environnement de développement HCL Commerce Version 9.1.
      Important : Créez une sauvegarde de cette archive, car vous aurez besoin de certains fichiers de configuration dans la migration Struts 2 ultérieurement.
    8. Facultatif : Si votre environnement de développement IBM Websphere Commerce Version 8 se trouve sur un système distinct de HCL Commerce Version 9.1, copiez le fichier Stores.zip exporté dans votre environnement de développement HCL Commerce Version 9.1.
  2. Importez votre projet personnalisé.
    1. Ouvrez l'espace de travail d'environnement de développement HCL Commerce Version 9 puis la perspective Java EE.
    2. Dans la vue Explorateur d'entreprise, cliquez avec le bouton droit sur le projet Stores, puis cliquez sur Importer > Importer....
      La fenêtre Importer s'affiche.
    3. Développez le dossier General, puis cliquez sur Fichier d'archivage > Suivant.
    4. Cliquez sur Parcourir, puis sélectionnez le fichier Stores.zip que vous avez exporté depuis votre environnement de développement IBM Websphere Commerce Version 8.
    5. Dans le fichier compressé Stores, sélectionnez les sous-répertoires suivants.
      • WebContent
      • src
    6. Définissez la zone Dans le dossier comme votre répertoire local Stores.
    7. Cochez la case Ecraser les ressources existantes sans avertissement.
    8. Cliquez sur Terminer.
  3. Dans HCL Commerce Version 9.1, tous les services utilisent HTTPS. Le projet de magasins que vous avez importé dans HCL Commerce Version 9.1 peut toujours utiliser des valeurs HTTP. Passez en revue les fichiers suivants et remplacez les valeurs value="http: par value="https:.
    Remarque : Ignorez tous les fichiers de la liste qui n'existent pas dans votre environnement.
    • /Stores/WebContent/SitemapIndex.jsp
    • /Stores/WebContent/AuroraB2BStorefrontAssetStore/Common/EnvironmentSetup.jspf
    • /Stores/WebContent/AuroraB2BStorefrontAssetStore/EmailTemplates/Common/eMarketingSpotDisplay.jsp
    • /Stores/WebContent/AuroraStorefrontAssetStore/Common/EnvironmentSetup.jspf
    • /Stores/WebContent/AuroraStorefrontAssetStore/EmailTemplates/Common/eMarketingSpotDisplay.jsp
    • /Stores/WebContent/Widgets_701/Common/EnvironmentSetup.jspf
    • /Stores/WebContent/Widgets_801/Common/EnvironmentSetup.jspf
  4. Convertissez les valeurs numériques en valeurs de chaîne en utilisant la fonction fn:trim () dans vos balises JSP <c:if test>.

    Les classes de base dans la bibliothèque de balises JSP diffèrent entre IBM Websphere Commerce Version 8 et HCL Commerce Version 9.1. Si vos fichiers JSP IBM Websphere Commerce Version 8 utilisent la balise <c:if test> pour évaluer les expressions, vous devez mettre à jour ces fichiers JSP dans HCL Commerce Version 9.1 pour utiliser la fonction fn:trim (). Dans certains de vos fichiers JSP, vous pouvez comparer une chaîne à un nombre. La logique sous-jacente de HCL Commerce Version 9.1 tente de convertir la chaîne en un nombre avant de les comparer. S'il existe des caractères non numériques dans la chaîne, une erreur de conversion est signalée. La fonction fn:trim () convertit de force des chaînes en nombres avant qu'elles ne soient comparées par la logique de HCL Commerce Version 9.1.

    L'exemple de code suivant montre la balise <c:if test> sans la fonction fn:trim () dans le fichier /Stores/WebContent/AuroraStorefrontAssetStore/Container/SubCategoryPageContainerWithTabs.jsp :
    <c:if test="${childWidget.slot.internalSlotId == slotNumber && !foundCurrentSlot}">
    L'exemple de code suivant montre la balise <c:if test> avec la fonction fn:trim () ajoutée dans le fichier /Stores/WebContent/AuroraStorefrontAssetStore/Container/SubCategoryPageContainerWithTabs.jsp :
    <c:if test="${childWidget.slot.internalSlotId == fn:trim(slotNumber) && !foundCurrentSlot}">
    Remarque : Remarquez comment la fonction fn:trim () est appliquée à la valeur slotNumber.
    1. A partir de votre environnement de développement HCL Commerce Version 9.1, ouvrez les fichiers JSP Page de résultats de recherche suivants.
      • /Stores/WebContent/AuroraStorefrontAssetStore/Container/SubCategoryPageContainerWithTabs.jsp
      • /Stores/WebContent/AuroraB2BStorefrontAssetStore/Container/SubCategoryPageContainerWithTabs.jsp
    2. Localisez la ligne de code suivante dans chaque fichier :
      • <c:if test="${childWidget.slot.internalSlotId == slotNumber && !foundCurrentSlot}">
    3. Mettez à jour les lignes de code en ajoutant la fonction fn:trim () aux valeurs slotNumber, comme illustré dans l'exemple de code suivant.
      • <c:if test="${childWidget.slot.internalSlotId == fn:trim(slotNumber) && !foundCurrentSlot}">
    4. Sauvegardez et fermez les fichiers.
    5. Ouvrez les fichiers JSP Page de détails de produit suivants.
      • /Stores/WebContent/AuroraStorefrontAssetStore/Container/ProductPageContainer.jsp
      • /Stores/WebContent/AuroraStorefrontAssetStore/Container/ProductPageContainerFullWidth.jsp
      • /Stores/WebContent/AuroraB2BStorefrontAssetStore/Container/ProductPageContainer.jsp
      • /Stores/WebContent/AuroraB2BStorefrontAssetStore/Container/ProductPageContainerFullWidth.jsp
    6. Localisez la ligne de code suivante dans chaque fichier :
      • <c:if test="${childWidget.slot.internalSlotId == slotNumber && !foundCurrentSlot}">
    7. Mettez à jour les lignes de code en ajoutant la fonction fn:trim () aux valeurs slotNumber, comme illustré dans l'exemple de code suivant.
      • <c:if test="${childWidget.slot.internalSlotId == fn:trim(slotNumber) && !foundCurrentSlot}">
    8. Sauvegardez et fermez les fichiers.
    9. Ouvrez le fichier JSP suivant Page Enregistrement.
      • /Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.AddressForm/AddressForm_UI.jspf
      • /Stores/WebContent/Widgets_801/com.ibm.commerce.store.widgets.AddressForm/AddressForm_UI.jspf
      • /Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.OrganizationUserInfo/UserInfoUI/UserDetailsForm_UI.jspf
      • /Stores/WebContent/Widgets_801/com.ibm.commerce.store.widgets.OrganizationUserInfo/UserInfoUI/UserDetailsForm_UI.jspf
      • /Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.OrganizationUserInfo/UserInfoUI/UserDetailsDisplay_Data.jspf
      • /Stores/WebContent/Widgets_801/com.ibm.commerce.store.widgets.OrganizationUserInfo/UserInfoUI/UserDetailsDisplay_Data.jspf
    10. Localisez la ligne de code suivante.
      • <c:if test="${language.localeName == preferredLanguage || language.languageId == preferredLanguage }">
    11. Mettez à jour la ligne de code en ajoutant la fonction fn:trim () à la valeur preferredLanguage, comme illustré dans l'exemple de code suivant.
      • <c:if test="${language.localeName == fn:trim(preferredLanguage) || language.languageId == preferredLanguage }">
    12. Enregistrez et fermez le fichier.
  5. Mettez à jour vos fichiers JSTLEnvironmentSetupExtForRemoteWidgets.jspf.
    1. Ouvrez les fichiers suivants :
      • \Stores\WebContent\AuroraB2BStorefrontAssetStore\Common\JSTLEnvironmentSetupExtForRemoteWidgets.jspf
      • \Stores\WebContent\AuroraStorefrontAssetStore\Common\JSTLEnvironmentSetupExtForRemoteWidgets.jspf
      • \Stores\WebContent\Widgets_701\Common\JSTLEnvironmentSetupExtForRemoteWidgets.jspf
      • \Stores\WebContent\Widgets_801\Common\JSTLEnvironmentSetupExtForRemoteWidgets.jspf
    2. Supprimez le bloc de code suivant :
      <c:when test="${!empty restNonSSLPort}">
          <c:set var="restURLPort" value="${restNonSSLPort}" scope="request"/>
          <c:set var="restURLScheme" value="http" scope="request"/>
      </c:when>
    3. Sauvegardez et fermez les fichiers que vous avez mis à jour.
  6. Supprimez la configuration de magasin à distance de votre fichier de fondation wc-component.xml.
    1. Ouvrez le fichier suivant en mode édition.
      • workspace_dir/WC/xml/config/com.ibm.commerce.foundation/wc-component.xml
    2. Recherchez et supprimez le configgrouping nommé RemoteStoreConfiguration.
      Par exemple, supprimez le bloc de code suivant :
      <_config:configgrouping name="RemoteStoreConfiguration">
                                  <!-- value to remote store web host name -->
                                  <_config:property name="wc.store.remote.webHostName" value="store"/>
                                  <!-- value to remote store web host HTTP port number -->
                                  <_config:property name="wc.store.remote.webNonSSLPort" value="8080"/>
                                  <!-- value to remote store web host HTTPS port number -->
                                  <_config:property name="wc.store.remote.webSSLPort" value="8443"/>
                                  <!-- value to remote store context root -->
                                  <_config:property name="wc.store.remote.webContextPath" value="/shop"/>
                                  <!-- value to remote store preview context root -->
                                  <_config:property name="wc.store.remote.previewContextPath" value="/webapp/remote/preview/servlet"/>
                                  <!-- value to kafka servers connection string -->
                                  <_config:property name="wc.store.remote.kafka" value=""/>
                                  <!-- value to kafka servers topic prefix -->
                                  <_config:property name="wc.store.remote.kafka.topicPrefix" value="sampleprefix"/>
                                  <!-- value to remote store web alias -->
                                  <_config:property name="wc.store.remote.webAlias" value="/wcsstore"/>
                                  <!-- value to remote store app host name (used for invoking email JSPs in remote store) -->
                                  <_config:property name="wc.store.remote.appHostName" value="localhost"/>
                                  <!-- value to remote store app host HTTPS port number (used for invoking email JSPs in remote store) -->
                                  <_config:property name="wc.store.remote.appSSLPort" value="8443"/>
                                  </_config:configgrouping>
    3. Enregistrez et fermez le fichier.
      Avertissement : Cette modification devra être effectuée une nouvelle fois après la mise à niveau de l'environnement de développement vers un groupe de correctifs plus élevé, car cette procédure va écraser le fichier wc-component.xml. Le fichier qui vient d'être modifié devra alors être déployé dans l'environnement de production mis à niveau.
  7. Si vous migrez vers HCL Commerce version 9.0.1 ou ultérieure, vous devez mettre à niveau votre configuration Struts. Voir Migration d'applications Web IBM Websphere Commerce version 7 Feature Pack 6 personnalisées vers Struts 2. En outre, si vous avez des personnalisations existantes dans le fichier de personnalisation web.xml, vous devez le mettre à niveau manuellement pour vous conformer à la norme Struts 2. Voir Modification des fichiers de configuration Struts 2.
  8. Cette étape n'est requise que si vous migrez depuis WebSphere Commerce 8.0.4.27 ou une version antérieure.
    1. Ouvrez Stores\WebContent\Widgets_701\Common\CatalogEntry\CatalogEntryDisplay_MiniListView_UI.jspf
    2. Recherchez et supprimez les lignes de code suivantes :
      <c:if test="${aStatus.first}">
      <c:set var="firstSwatchName" value="${swatchName}" />			
      </c:if>
    3. Localisez la ligne de code suivante :
      <c:forEach var="swatchValue" items="${swatchValues}" varStatus="vStatus">
      <c:set var="index" value="${fn:trim(vStatus.count-1)}" />
    4. Ajoutez la ligne de code suivante après le code ci-dessus :
      <c:set var="firstSwatchName" value="${swatchName}" />
    5. Ouvrez les fichiers suivants en mode édition.
      • \Stores\WebContent\AuroraStorefrontAssetStore\javascript\Common\ShoppingActions.js
      • \Stores\WebContent\AuroraB2BStorefrontAssetStore\javascript\Common\ShoppingActions.js
    6. Recherchez les lignes de code suivantes :
      for(attribute in entitledItem.Attributes){
      	var currentSwatch = attribute.substring(0, attribute.lastIndexOf("_|_"));
      	if(currentSwatch != doNotDisable && currentSwatch != swatchName){
    7. Remplacez les lignes ci-dessus par les lignes de code suivantes :
      for(attribute in entitledItem.Attributes){
      	var currentSwatch = attribute.substring(0, attribute.lastIndexOf("_|_"));
      	if(currentSwatch == doNotDisable && currentSwatch != swatchName){
    8. Sauvegardez et fermez tous les fichiers.
  9. Effectuez la modification suivante pour vous assurer que les catégories apparaissent comme prévu après la connexion à la vitrine.
    1. Ouvrez le fichier suivant en mode édition.
      • WCDE_installdir\workspace\Stores\WebContent/store_name\Common\CommonJSToInclude.jspf
      store_name
      Nom de base du répertoire dans lequel se trouvent les actifs Web propres au magasin, comme les fichiers JSP et les fichiers de propriétés. Par exemple, AuroraStorefrontAssetStore.
    2. Recherchez <link rel="apple-touch-icon-precomposed" href="${jspStoreImgDir}images/touch-icon-152px.png" sizes="152x152"/> dans le fichier, puis ajoutez le script suivant.
      <script type="text/javascript">
      //Redirect to HTTPS request in the browser when detect that using HTTP request,
      //since HTTP request is no longer supported in v9.
      var httpsProtocol = "https:";
      var securedPort = '<c:out value="${configValueMap[\'WebServer/SSLPort\']}"/>';
      if (window.location.protocol != httpsProtocol){
      var href = httpsProtocol + window.location.href.substring(window.location.protocol.length);
      var host = window.location.host;
      var hostname = window.location.hostname;
      var httpsHost = httpsHost = (securedPort != "" && securedPort != null) ? hostname + ":" + securedPort : hostname;
      href = href.replace(host, httpsHost);
      window.location.href = href;
      }
      </script>
    3. Enregistrez et fermez le fichier.
  10. Mettez à jour votre table STORECONF avec vos ID de magasin de sites étendus.
    1. Ouvrez une invite de commande vers votre base de données de développement version 9.
    2. Exécutez la commande SQL suivante pour récupérer les ID de magasin pour votre type de magasin spécifique :
      select store_id from store where directory in ('store_name');
      store_name
      Le nom de base de votre magasin, par exemple, AuroraESite.
    3. Pour chaque ID de magasin de site étendu récupéré, insérez un enregistrement correspondant dans votre table STORECONF en exécutant la commande suivante :
      Insert into storeconf values(STOREENT_ID, 'wc.store.isRemote','0',0);
      Où :
      STOREENT_ID
      ID du magasin que vous avez extrait de la commande SQL précédente.
  11. Supprimez l'EJB de l'en-tête d'aperçu du magasin.
    1. Ouvrez le fichier \Stores\WebContent\tools\preview\StorePreviewerHeader.jsp pour l'éditer.
    2. Recherchez le fragment de code suivant.
      pageContext.setAttribute("workspaceId", abWorkspace.getWorkspaceIdInEJBType().toString());
    3. Remplacez le fragment de code par ce qui suit.
      pageContext.setAttribute("workspaceId", abWorkspace.getWorkspaceId().toString());
    4. Enregistrez et fermez le fichier.
  12. Mettez à jour les pages JSP liées à l'adresse pour afficher correctement l'adresse d'expédition et de facturation sur la page de paiement.
    1. Ouvrez les fichiers suivants en mode édition.
      • Stores\WebContent\AuroraB2BStorefrontAssetStore\ShoppingArea\CheckoutSection\SingleShipment\ShippingAddressSelect.jsp
      • Stores\WebContent\AuroraStorefrontAssetStore\ShoppingArea\CheckoutSection\SingleShipment\ShippingAddressSelect.jsp
    2. Localisez le fragment de code suivant.
      <c:set var="selectedAddressId" value="${param.addressId}"/>
    3. Remplacez-le par le fragment de code suivant.
      <c:set var="selectedAddressId" value="${orderShipInfo.usableShippingAddress[0].addressId}"/>
    4. Sauvegardez et fermez les fichiers.
    5. Ouvrez les fichiers suivants en mode édition.
      • Stores\WebContent\AuroraStorefrontAssetStore\Snippets\Member\Address\AddressDisplay.jsp
      • Stores\WebContent\AuroraB2BStorefrontAssetStore\Snippets\Member\Address\AddressDisplay.jsp
    6. Localisez le fragment de code suivant.
      <c:if test="${empty WCParam.addressId}" >
    7. Remplacez-le par le fragment de code suivant.
      <c:if test="${empty WCParam.addressId || WCParam.addressId ne param.addressId }" >
    8. Sauvegardez et fermez les fichiers.
  13. Mettez Content_UI.jspf à jour pour afficher correctement l'icône qui représente des pièces jointes à une URL pour du contenu marketing.
    1. Ouvrez les fichiers suivants en mode édition.
      • \Stores\WebContent\Widgets_701\com.ibm.commerce.store.widgets.ContentRecommendation\Content_UI.jspf
      • \Stores\WebContent\Widgets_801\com.ibm.commerce.store.widgets.ContentRecommendation\Content_UI.jspf
    2. Localisez le fragment de code suivant.
      <c:if test="${not empty fileType}">
    3. Sous ce fragment, ajoutez le code suivant :
      <c:if test="${fileType eq 'html' || fileType eq 'htm' || mimeType eq 'text/html'}">
      	<c:set var="attachmentType" value="html"/>
      </c:if>
      
    4. Sauvegardez et fermez les fichiers.
  14. Mettez à jour les fichiers JSP associés au filtre Prix qui sont utilisés pour générer des URL.
    1. Ouvrez le fichier Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.CatalogEntryList/CatalogEntryList_UI.jspf pour l'éditer.
      • Localisez la ligne de code suivante.
        SearchBasedNavigationDisplayJS.appendFilterPriceRange();
      • Remplacez la ligne par ce qui suit.
        SearchBasedNavigationDisplayJS.appendFilterPriceRange("<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>");
    2. Ouvrez le fichier Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.CatalogEntryList/javascript/SearchBasedNavigationDisplay.js pour l'éditer.
      • Localisez la ligne de code suivante.
        checkPriceInput:function(event)
      • Remplacez la ligne par ce qui suit.
        checkPriceInput:function(event, currencySymbol)
      • Localisez la ligne de code suivante.
        this.appendFilterPriceRange();
      • Remplacez la ligne par ce qui suit.
        this.appendFilterPriceRange(currencySymbol);
      • Localisez la ligne de code suivante.
        appendFilterPriceRange:function()
      • Remplacez la ligne par ce qui suit.
        appendFilterPriceRange:function(currencySymbol)
      • Localisez la ligne de code suivante.
        var label = this.currencySymbol + byId("low_price_input").value + " - " + this.currencySymbol + byId("high_price_input").value;
      • Remplacez la ligne par ce qui suit.
        var label = currencySymbol + byId("low_price_input").value + " - " + currencySymbol + byId("high_price_input").value;
      • Localisez la ligne de code suivante.
        restoreHistoryContext:function()
      • Remplacez la ligne par ce qui suit.
        restoreHistoryContext:function(currencySymbol)
      • Localisez la ligne de code suivante.
        this.appendFilterPriceRange();
      • Remplacez la ligne par ce qui suit.
        this.appendFilterPriceRange(currencySymbol);
    3. Ouvrez le fichier Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.FacetNavigation/FacetNavigation_HorizontalView_UI.jspf pour l'éditer.
      • Localisez la ligne de code suivante.
        <input id="low_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_LOWER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event);" class="range_input" type="tel"/>
      • Remplacez la ligne par ce qui suit.
        <input id="low_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_LOWER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event, '<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>');" class="range_input" type="tel"/>
      • Localisez la ligne de code suivante.
        <input id="high_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_UPPER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event);" class="range_input" type="tel"/>
      • Remplacez la ligne par ce qui suit.
        <input id="high_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_UPPER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event, '<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>');" class="range_input" type="tel"/>
      • Localisez la ligne de code suivante.
        setTimeout("SearchBasedNavigationDisplayJS.restoreHistoryContext();", 200);
      • Remplacez la ligne par ce qui suit.
        setTimeout("SearchBasedNavigationDisplayJS.restoreHistoryContext(\"<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>\");", 200);
    4. Ouvrez le fichier Stores/WebContent/Widgets_701/com.ibm.commerce.store.widgets.FacetNavigation/FacetNavigation_VerticalView_UI.jspf pour l'éditer.
      • Localisez la ligne de code suivante.
        <input id="low_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_LOWER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event);" class="range_input" type="tel"/>
      • Remplacez la ligne par ce qui suit.
        <input id="low_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_LOWER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event, '<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>');" class="range_input" type="tel"/>
      • Localisez la ligne de code suivante.
        <input id="high_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_UPPER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event);" class="range_input" type="tel"/>
      • Remplacez la ligne par ce qui suit.
        <input id="high_price_input" role="textbox" aria-label="<fmt:message key="LN_SEARCH_FACET_UPPER_BOUND" bundle="${widgetText}"/>" onkeyup="SearchBasedNavigationDisplayJS.checkPriceInput(event, '<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>');" class="range_input" type="tel"/>
      • Localisez la ligne de code suivante.
        setTimeout("SearchBasedNavigationDisplayJS.restoreHistoryContext();", 200);
      • Remplacez la ligne par ce qui suit.
        setTimeout("SearchBasedNavigationDisplayJS.restoreHistoryContext(\"<c:out value='${env_CurrencySymbolToFormat}' escapeXml='false'/>\");", 200);
    5. Sauvegardez et fermez les fichiers.

Résultats

Votre magasin basé sur Aurora a été migré avec succès.
HCL Commerce Version 9.1.3.0 or laterRemarque : Dans HCL Commerce versions 9.1.3.0 et ultérieures, la fonction d'aperçu du magasin est prise en charge pour les magasins locaux migrés Struts 2, dans des environnements de contexte hors de l'espace de travail uniquement.

Pour plus d'informations sur l'activation de la fonction Aperçu du magasin dans votre environnement de magasin local migré, voir l'étape 4.c de Migration de la recherche basée sur REST.