0

I don't know whether the below impex is correct for my requirement.please correct me if i am wrong.i want to assign categories to classification class.

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

2 回答 2

2

我认为你缺少一些元素

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

$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;
于 2017-02-16T09:49:16.580 回答
0

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

UPDATE Product;code[unique=true];supercategories(code)[mode = append];
; 5476; <code of your classification class>;
于 2017-12-19T15:17:57.297 回答