如何通过impex分配类别来分类hybris中的类别

时间:2017-02-16 02:30:06

标签: hybris impex

我不知道下面的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;

2 个答案:

答案 0 :(得分: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])

然后定义Classification类宏

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

答案 1 :(得分:0)

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

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