在Hybris中使用适当的拦截器逻辑

时间:2018-06-07 16:46:39

标签: hybris

我在itemtype MyProduct(扩展Product)中有一个属性为gender = MALE或FEMALE的products.impex文件我有一个属性“choice”,它依赖于gender列中的值,所以我最初写了一个PrepareInterceptor和检查isNew condition.Now它适用于新行,但是当值改变时它不起作用。我应该删除isNew条件还是使用InitDefaultsInterceptor?

1 个答案:

答案 0 :(得分:2)

if (ctx.isRemoved(productModel))
{
    //TODO
}
else if (ctx.isNew(productModel) || ctx.isModified(productModel, ProductModel.GENDER))
{
    //TODO
}

就拦截器问题而言,您可以使用 PrepareInterceptor 来准备在 ValidateInterceptor 之前调用的字段值。如果您只想验证字段,请使用 ValidateInterceptor 。当模型填充其默认值时,将调用Init Defaults Interceptor。

看看interceptor life cycle