【问题标题】:how to assign categories to classifying categories in hybris through impex如何通过impex将类别分配给hybris中的分类类别
【发布时间】:2017-02-16 02:30:05
【问题描述】:

我不知道下面的 impex 是否符合我的要求。如果我错了,请纠正我。我想将类别分配给分类类。

$classificationSystem=hpeClassification 
$classificationCatalogVersion=catalogversion(catalog(id[default=$classificationSystem]),version[default='1.0'])[unique=true,default=$classificationSystem:1.0] 
$classificationClasses=Classificationclass(code[unique=true],name[lang=en],supercategories(code,$classificationCatalogVersion),$classificationCatalogVersion);
INSERT_UPDATE Product;code[unique=true];$classificationClasses;$catalogVersion;
;5476;/facets/care;

【问题讨论】:

    标签: hybris impex


    【解决方案1】:

    我认为你缺少一些元素

    首先需要定义一个分类目录版本宏:

    $systemName=TelcoClassification;
    $systemVersion=1.0;
    
    INSERT_UPDATE ClassificationSystem; id[unique=true]; name[lang=en];
    ;$systemName;Telco ClassificationSystem;
    
    $classCatalogVersion=catalogversion(catalog(id[default=$systemName]),version[default=$systemVersion])
    

    然后你定义分类类宏

    $class=classificationClass(ClassificationClass.code,$classCatalogVersion)[unique=true]
    

    您创建数据库对象:

    INSERT_UPDATE ClassificationSystemversion; catalog(id)[unique=true] ; version[unique=true] ; active ; writeprincipals(uid); languages(isocode); inclPacking[virtual=true,default=true]; inclDuty[virtual=true,default=true]; inclFreight[virtual=true,default=true]; inclAssurance[virtual=true,default=true]
    ;$systemName ;$systemVersion ;true ;employeegroup;en;
    
    INSERT_UPDATE ClassificationClass;$classCatalogVersion[unique=true];code[unique=true];allowedPrincipals(uid)[default='customergroup']
    ;;compatibilityclassification
    

    您定义分类的属性:

    INSERT_UPDATE ClassificationAttribute;$classSystemVersion;code[unique=true]
    ;;featurecompatibility
    
    $class=classificationClass(ClassificationClass.code,$classCatalogVersion)[unique=true]
    $attribute=classificationAttribute(code,$classSystemVersion)[unique=true]
    
    INSERT_UPDATE ClassificationAttributeValue;code[unique=true];$classSystemVersion
    ;feature_bt10
    
    INSERT_UPDATE ClassAttributeAssignment;$class;$attribute;position;$unit;attributeType(code[default=string]);multiValued[default=false];range[default=false];localized[default=false];attributeValues(code,$classSystemVersion)
    ;compatibilityclassification;featurecompatibility;0;;enum;true;;;feature_bt10
    

    然后你把它链接到一个产品

    $clAttrModifiers=system='TelcoClassification',version='1.0',translator=de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator,lang=en
    
    
    $feature1=@featurecompatibility[$clAttrModifiers];
    
    
    UPDATE Product;code[unique=true];$feature1;$catalogversion
    ;109058;feature_bt10;
    

    对于类别:

    INSERT_UPDATE Category;code[unique=true];allowedPrincipals(uid)[default='customergroup'];$catalogversion
    ;devices
    
    
    UPDATE Category; $catalogversion; code[unique=true]; supercategories(code,$classCatalogVersion)[mode=append]
    ;;devices;compatibilityclassification;
    

    【讨论】:

    • 所有这些我都能做到。但是,我们如何将类别分配给分类类别
    【解决方案2】:

    老问题,但这里是答案,对于产品而不是分配属性分配类别。

    UPDATE Product;code[unique=true];supercategories(code)[mode = append];
    ; 5476; <code of your classification class>;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多