В заголовке классификацииAttributeAssignment ожидается PK, поэтому я не вижу, как будет работать ваш impex. Вы должны создать classAttributeAssignment, который определяет классификацию полей Class, в которой вы определяете категоризацию своей функции (поэтому ваша функция принадлежит где-то, чтобы она не плавала).
Например:
insert_update ClassAttributeAssignment;attributeType(itemtype(code),code)[unique=true];classificationAttribute(code,systemVersion(catalog(id),version))[forceWrite=true,allownull=true,unique=true];classificationClass(catalogVersion(catalog(id),version),code)[forceWrite=true,allownull=true,unique=true];comparable[allownull=true];description[lang=en];formatDefinition;listable[allownull=true];localized[allownull=true];mandatory[allownull=true];multiValued[allownull=true];position;range[allownull=true];searchable[allownull=true];systemVersion(catalog(id),version)[forceWrite=true,unique=true];unit(code,systemVersion(catalog(id),version))[unique=true];visibility(itemtype(code),code)
;ClassificationAttributeTypeEnum:boolean;IsCool:ExampleClassification:1.0;ExampleClassification:1.0:Search;TRUE;;;FALSE;FALSE;FALSE;FALSE;1;FALSE;FALSE;ExampleClassification:1.0;;ClassificationAttributeVisibilityEnum:visible
- ClassificationAttribute (сама функция):
IsCool
- SystemVersion (каталог для классов классификации):
ExampleClassification:1.0
- ClassificationClass (категория в пучки функций):
Search
Итак, предоставив вам созданную (например, в hMC) ExampleClassification
и предоставив ей версию 1.0
(каталог-> система классификации), дескриптор функции IsCool
(список функций ->), а в ExampleClassification
вы создали класс классификации Search
, Если вы назначаете класс классификации вашему продукту (суперкатегории), вы должны увидеть функцию IsCool
, отображаемую для вашего продукта.
И присваивая значение для продукта с SKU 100:
insert_update Product;code[unique=true,allownull=true];catalog(id)[allownull=true];catalogVersion(catalog(id),version)[unique=true];@IsCool[system='ExampleClassification',version='1.0',translator=de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator]
;100;Default;Default:Staged;TRUE
Или вы также можете присвоить значение с помощью ProductFeature
:
INSERT_UPDATE ProductFeature;classificationattributeAssignment(classificationAttribute(code,systemVersion(catalog(id),version)),systemVersion(catalog(id),version),classificationClass(catalogVersion(catalog(id),version),code))[unique=true]; product(catalogVersion(catalog(id),version),code)[unique=true];value[translator=de.hybris.platform.catalog.jalo.classification.impex.ProductFeatureValueTranslator]
;IsCool:ExampleClassification:1.0:ExampleClassification:1.0:ExampleClassification:1.0:Search;Default:Staged:100;boolean,TRUE
привет, это не работает, [код, каталог , catalogVersion, @product number], 1 = ValueEntry ('1008525794' = 1008525794, unresolved = false, ignore = false), 2 = ValueEntry ('hpeCatalog' = 8796093121112, unresolved = false, ignore = false), 3 = ValueEntry ('hpeCatalog: Staged' = hpeCatalog/Staged (8796093186649), unresolved = false, ignore = false), 4 = ValueEntry ('HPE ProLiant ML10' = null, unre solve = null, ignore = false), 5 = ValueEntry ('' = null, unresolved = null, ignore = false)}] –
Я отредактировал свой ответ с impex, который добавляет значение, используя заголовок ProductFeature. В исходном вопросе вы должны изменить заголовок для классификацииAttributeAssignment, как и в моей версии, также вы должны назначить значение, используя: type, value. Как я сделал boolean, FALSE. Проблема с неклассифицированными функциями связана с классификациейAttributeAssignment. – thijsraets
Привет, я пробовал вышеупомянутый impex, но он не работает. –