Chargement des catégories dans le menu de navigation du catalogue

Vous pouvez remplacer le comportement de chargement du menu de consultation du catalogue dans des pages de magasin individuelles pour contrôler l'affichage du menu et améliorer les performances de chargement des pages de magasin. En configurant le comportement du menu de consultation du catalogue, vous pouvez configurer si une page de magasin se charge uniquement dans la catégorie de premier niveau du menu de consultation du catalogue lorsque la page se charge ou charge toutes les catégories dans le menu. Le menu de consultation du catalogue est un menu contextuel qui inclut une liste des rayons et des catégories.

Pourquoi et quand exécuter cette tâche

Pour contrôler le comportement du menu dans des pages individuelles, vous devez d'abord définir le comportement du menu pour toutes les pages de magasin. Pour contrôler ce comportement pour toutes les pages de magasin, vous pouvez configurer la variable llazyLoadDepartmentsList dans le fichier EnvironmentSetup.jspf de votre magasin. Pour plus d'informations sur ce fichier et les variables que vous configurez dans le fichier, voir Variables JSTL fréquemment utilisées dans les pages du magasin type.

Avec la variable lazyLoadDepartmentsList, vous pouvez configurer les pages de magasin de sorte qu'elles ne chargent que la catégorie de premier niveau dans le menu de consultation du catalogue lors du chargement d'une page. Si vous définissez des pages de sorte qu'elles ne chargent que la catégorie de premier niveau, les autres catégories du menu ne se chargent pas tant qu'un client n'a pas cliqué sur le menu. En attendant qu'un utilisateur clique sur les autres catégories pour les charger, vous pouvez améliorer les performances de chargement des pages de magasin lors du chargement initial de la page. Vous pouvez ensuite remplacer ce paramètre pour des pages individuelles lorsque vous souhaitez afficher l'intégralité de la liste de catégories lors du chargement de la page de magasin. Pour remplacer le paramètre dans des pages individuelles, utilisez la variable overridelazyLoadDepartmentsList dans la définition d'une classe d'encapsulation d'en-tête pour la page de magasin individuelle.

Par exemple, vous pouvez définir la valeur de la variable lazyLoadDepartmentsList sur true pour votre magasin, mais remplacer le paramètre pour votre page d'accueil par la variable overridelazyLoadDepartmentsList. Grâce à ces paramètres, votre page d'accueil affiche l'intégralité de la liste des catégories, mais toutes les autres pages n'affichent que la catégorie de premier niveau, ce qui permet d'améliorer le chargement des pages.

Procédure

  1. Accédez au répertoire qui contient le fichier JSP que vous souhaitez mettre à jour pour remplacer le paramètre d'affichage du menu de consultation du catalogue.
    Par exemple, si vous souhaitez mettre à jour la page d'accueil de votre magasin, accédez au répertoire suivant :
    • crs-web\WebContent\storedir\ShoppingArea\CatalogSection\CategorySubsection
    store est le nom de répertoire de votre magasin de ressources de vitrine. Par défaut, ce répertoire est AuroraStorefrontAssetStore.
  2. Ouvrez le fichier TopCategoriesDisplay.jsp pour l'éditer.
  3. Cherchez le code qui définit une classe d'encapsulation pour la page. Si ce code n'existe pas, ajoutez le code ci-dessous dans l'élément <div id="page"> de la page.
    Par exemple, dans le fichier TopCategoriesDisplay.jsp, ce code est inclus dans l'élément <div id="headerWrapper"> :
    <div id="page">
      <div id="headerWrapper">
        ...
      </div>
    ...
    </div>	
  4. Modifiez la valeur de la variable overrideLazyLoadDepartmentsList pour remplacer le paramètre de la variable lazyLoadDepartmentsList pour la page de magasin. Si la variable overrideLazyLoadDepartmentsList n'est pas incluse dans le fichier, ajoutez le code dans <div id="headerWrapper"> pour inclure la variable :
      <c:set var="overrideLazyLoadDepartmentsList" value="true" scope="request"/>
      <%out.flush();%>
      <c:import url = "${env_jspStoreDir}Widgets/Header/Header.jsp">
      <c:param name="overrideLazyLoadDepartmentsList" value="${overrideLazyLoadDepartmentsList}" />
      </c:import>
      <%out.flush();%>
    
    Les valeurs de la variable overrideLazyLoadDepartmentsList sont les suivantes :
    true
    Remplace le paramètre de la variable lazyLoadDepartmentsList pour le magasin. Par défaut, la variable lazyLoadDepartmentsList est définie sur true pour que toutes les pages de magasin ne chargent que la catégorie de premier niveau dans le menu de consultation du catalogue. Par défaut, la valeur de la variable overrideLazyLoadDepartmentsList pour la page d'accueil du modèle de magasin Aurora est définie sur true pour s'assurer que l'ensemble des rayons et des catégories s'affichent dans le menu de la page. Si vous modifiez la valeur de la lazyLoadDepartmentsList pour toutes les pages de magasin, vous pouvez avoir besoin de modifier la valeur définie pour la variable overrideLazyLoadDepartmentsList dans des pages individuelles afin de ne plus remplacer le paramètre de la variable lazyLoadDepartmentsList.
    false
    Le paramètre de la variable lazyLoadDepartmentsList s'applique toujours pour la page de magasin. Cette valeur est la valeur par défaut de la variable overrideLazyLoadDepartmentsList pour toutes les pages de magasin autre que la page d'accueil Aurora, à savoir false.
  5. Enregistrez et fermez le fichier.