我已经在Backoffice中创建了一个促销规则,并且可以在店面中正常使用。由于条件和操作以及其中的uuid是动态生成的,如何通过ImpEx导入它?
答案 0 :(得分:0)
我遇到了同样的问题,我所做的是:
创建条件:
$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}]
希望这对您有帮助