【问题标题】:How to create an ImpEx for Hybris promotion rule?如何为 Hybris 促销规则创建 ImpEx?
【发布时间】:2019-09-14 20:11:00
【问题描述】:

我在 Backoffice 中创建了一个促销规则,它在店面工作正常。如何通过 ImpEx 导入它,因为那里的条件和操作以及 uuid 是动态生成的?

【问题讨论】:

    标签: hybris


    【解决方案1】:

    我有同样的问题,我所做的是:

    通过 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;
    

    将您的操作映射到促销规则类型:

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

    创建促销模板

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

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

    然后我从后台修改了模板,将我的条件和我的操作添加到促销模板 Conditions & Actions 选项卡(通过拖放添加它们),然后保存您的模板。

    然后检查管理选项卡,您将找到一个包含 json 的 Condition 字段(此 json 包含您的条件定义以及您在问题中询问的生成的uuid),同样对于操作,Actions 字段包含促销模板操作的 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}]
    

    希望对你有帮助

    【讨论】:

    • 这有帮助吗?任何反馈将不胜感激
    • 我认为这仅在您想创建新模板而不是创建新促销时才有用:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 2013-10-18
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多