如何为Hybris促销规则创建ImpEx?

时间:2019-04-25 11:42:42

标签: hybris

我已经在Backoffice中创建了一个促销规则,并且可以在店面中正常使用。由于条件和操作以及其中的uuid是动态生成的,如何通过ImpEx导入它?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我所做的是:

通过Impex配置您的条件

创建条件:

$lang = en
INSERT_UPDATE RuleConditionDefinition; id[unique=true]; name; priority; allowsChildren; translatorId; translatorParameters; categories(id)
;y_condition_id; Condition Name; 1100; false; YourCustomConditionTranslator; ; cart;

创建条件参数(这是条件参数的示例):

INSERT_UPDATE RuleConditionDefinitionParameter;definition(id)[unique=true];id[unique=true];name[lang = $lang];priority;type;value;required[default=true];validators;filters;defaultEditor
;y_condition_id;operator;Operator;1300;Enum(de.hybris.platform.ruledefinitions.AmountOperator);"""GREATER_THAN_OR_EQUAL""";;;

然后将您的条件映射到Promotion RuleType:

INSERT_UPDATE RuleConditionDefinitionRuleTypeMapping;definition(id)[unique=true];ruleType(code)[default=PromotionSourceRule][unique=true]
;y_condition_id;

配置您的操作

创建操作定义:

INSERT_UPDATE RuleActionDefinition;id[unique=true];name[lang = $lang];priority;;translatorId;translatorParameters;categories(id)
;y_action_Id;Action Name;1000;;YourActionTranslator;actionId->YourAction;product_discounts

创建您的操作参数:

INSERT_UPDATE RuleActionDefinitionParameter;definition(id)[unique=true];id[unique=true];name[lang=$lang];priority;type;value;required[default=true];validators;filters
;y_action_Id;your_param_id;Your parameter name ;1000;java.lang.Integer;1;;YourParameterValidator;

将您的操作映射到促销ruleType:

INSERT_UPDATE RuleActionDefinitionRuleTypeMapping;definition(id)[unique=true];ruleType(code)[default=PromotionSourceRule][unique=true]
;y_action_Id;

创建促销模板

首先,我使用ImpEx创建了我的促销模板,没有设置除name之外的任何参数:

INSERT_UPDATE PromotionSourceRuleTemplate;code[unique=true];name[lang=$lang];
;promotion_template_id; Template name;; 

然后,我通过将我的条件和动作添加到促销模板“条件和动作” 选项卡(通过拖放添加它们)中,从后台修改了模板,然后保存了模板。 / p>

然后检查“管理”选项卡,您将找到一个包含json的 Condition (条件)字段(此json包含您条件的定义以及您在问题中询问的生成的uuid) ,与操作类似,操作字段包含促销模板操作的json定义。

因此,您可以在这里使用Impex创建促销模板:

INSERT_UPDATE PromotionSourceRuleTemplate;code[unique=true];maxAllowedRuns;ruleGroup(code);conditions;actions
;promotion_template_id;1;productPromotionRuleGroup;[{your conditions json here}];[{ your action json here}]

希望这对您有帮助

相关问题