0

如何使用 Impex 在 Hybris 中创建导航节点?如何将类别映射到导航节点?如何将类别登录页面或 PLP 映射到导航节点?如何建立导航栏和jsp页面的关系?

4

1 回答 1

2

import/sampledata/contentCatalogs/yourCatalog/cms-content.impex用您的项目特定定义填充宏之后:

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. 请记住,这/c/FIRST-CATEGORY-ID将导致具有此 ID 的类别。您还必须配置 coredata/contentCatalogs/yourCatalog/cms-content.impex与 SearchResults 页面相关的页面模板(此 impex 通常由 hybris 系统自动填充),以便显示该类别中的产品。

  2. 您必须在 spring xml 的 projectNamecore 扩展中配置您的根类别

    <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>
    

这样做是为了让 hybris 了解您的类别系统,以便它能够给出正确的结果并在页面中配置 PATH。

ROOT-CATEGORY- 作为所有类别的父类别的主类别;

PROJECT-NAME- 您的项目名称;

SITE-NAME- 您的网站名称;

如果您查看powertoolsstore/apparelstore/electronicsstore项目样本数据中的 cms 内容 impex 或更准确地了解您的主要思想,这对您来说会更容易。

希望能帮助到你!

于 2017-07-14T08:13:51.680 回答