2017-07-04 17 views
0

Comment créer un nœud de navigation dans un hybride à l'aide d'Impex? Comment mapper des catégories à des nœuds de navigation? Comment mapper des pages de destination de catégorie ou PLP à des noeuds de navigation? Comment établir une relation entre la barre de navigation et la page jsp?Comment créer une barre de navigation/un nœud dans Hybris?

Répondre

0

Dans import/sampledata/contentCatalogs/yourCatalog/cms-content.impex après le remplissage des macros avec vos définitions spécifiques du projet:

INSERT_UPDATE CMSNavigationNode;uid[unique=true];$contentCV[unique=true];name;children(uid,$contentCV)[mode=append] 
;root;;root;; 

##- level 1. SiteRoot -## 
INSERT_UPDATE CMSNavigationNode;uid[unique=true];$contentCV[unique=true];name;parent(uid, $contentCV);links(&componentRef);&nodeRef 
;SiteRootNode;;SiteRootNode;root;;SiteRootNode 

##-- level 2. children of SiteRoot --## 
INSERT_UPDATE CMSNavigationNode;uid[unique=true];$contentCV[unique=true];name;parent(uid, $contentCV);links(&componentRef);&nodeRef 
;YOUR-SITE-NAMENavNode;;YOUR-SITE-NAME Site;SiteRootNode;;YOUR-SITE-NAMENavNode 

##--- level 3. children of <YOUR-SITE-NAME>NavNode ---## 
INSERT_UPDATE CMSNavigationNode;uid[unique=true];$contentCV[unique=true];name;parent(uid, $contentCV);links(&componentRef);&nodeRef 
;YOUR-SITENAMECategoryNavNode;;Categories;YOUR-SITE-NAMENavNode;;YOUR-SITE-NAMECategoryNavNode 

##---- level 4. children of Category Nav ----## 
INSERT_UPDATE CMSNavigationNode;uid[unique=true];$contentCV[unique=true];name;parent(uid, $contentCV);links(&linkRef);&nodeRef 
;FIRST-CATEGORYNavNode;;FIRST-CATEGORY;YOUR-SITE-NAMECategoryNavNode;;FIRST-CATEGORYNavNode 

## entries of the above navigation nodes ## 
INSERT_UPDATE CMSNavigationEntry;uid[unique=true];$contentCV[unique=true];name;navigationNode(&nodeRef);item(CMSLinkComponent.uid,CMSLinkComponent.$contentCV); 
;FIRST-CATEGORYNavNodeEntry;;FIRST-CATEGORY Navigation Node Entry;FIRST-CATEGORYNavNodeFIRST-CATEGORYCategoryLink; 

## links of the above navigation nodes ## 
INSERT_UPDATE CMSLinkComponent;$contentCV[unique=true];uid[unique=true];name;url;&linkRef;&componentRef;target(code)[default='sameWindow'] 
;;FIRST-CATEGORYCategoryLink;FIRST-CATEGORY Category Link;/Open-Catalogue/FIRST-CATEGORY/c/FIRST-CATEGORY-ID;FIRST-CATEOGRYCategoryLink;FIRST-CATEGORYCategoryLink; 
  1. Gardez à l'esprit que /c/FIRST-CATEGORY-ID est en tête de la catégorie avec cet ID. Vous devez également avoir le modèle Page configuré en coredata/contentCatalogs/yourCatalog/cms-content.impex (cette impex est généralement renseignée automatiquement par le système hybris) en relation avec la page SearchResults afin que les produits de la catégorie apparaissent.

  2. Vous devez configurer votre catégorie racine dans l'extension projectNamecore dans le fichier XML de printemps

    <bean id="PROJECT-NAMECategorySource" parent="abstractCategorySource"> 
        <property name="rootCategory" value="ROOT-CATEGORY-NAME"/> 
    </bean> 
    
    <bean id="PROJECT-NAMECategoryCodeValueProvider" parent="abstractCategoryCodeValueProvider"> 
        <property name="categorySource" ref="PROJECT-NAMECategorySource"/> 
    </bean> 
    
    <bean id="PROJECT-NAMECategoryNameValueProvider" parent="abstractCategoryNameValueProvider"> 
        <property name="categorySource" ref="PROJECT-NAMECategorySource"/> 
    </bean> 
    

Ceci est fait pour que hybris connaît votre système de catégorie et pour qu'il soit en mesure de donner la bons résultats et configurer le chemin dans les pages.

ROOT-CATEGORY - la catégorie principale qui est le parent de toutes les catégories;

PROJECT-NAME - le nom de votre projet;

SITE-NAME - le nom de votre site;

Ce sera plus facile pour vous si vous jetez un oeil à la powertoolsstore/apparelstore/electronicsstore ou plus précisément au contenu cms impex dans l'échantillon des projets afin que vous ayez l'idée principale.

J'espère que ça aide!

+0

Merci de m'avoir répondu, pouvez-vous me dire quelle est la signification de la catégorie racine de configuration du second point dans l'extension projectNamecore? Est-ce obligatoire? – ashish

+0

Oui, c'est. De cette façon, lorsque vous essayez d'accéder à une catégorie avec/c/categoryId dans l'URL, hybris saura où chercher et quel chemin afficher. J'espère que c'était utile! –