我在 CategoryModel 中有一个名为 visibility 的自定义属性,可以从后台手动更改该属性,也可以从后台更改该属性来自cronjob的检查,该检查将检查类别中是否至少有一种产品。如果将其从后台更改,即使在其下找到任何产品,cronjob也不应更改可见性。当属性从后台更改时, 后台 中名为 最新更改 的部分会注册与属性相关的更改,但是我可以找不到如何或在哪里完成。
如何找到模型属性发生变化的地方? 来自Backoffice或Cronjob还是类似的东西?
答案 0 :(得分:3)
SavedValues-跟踪属性值修改
如果您在Backoffice中修改属性的值,则该属性的原始值(修改前)和新值(修改后)存储在SavedValues中。早期的v6.7版本有用于处理SavedValues的HMC API,但是现在您必须编写灵活的查询才能从服务层获取条目。
查找更多detail here
如何找到模型属性发生变化的地方? 是从Backoffice还是Cronjob之类的?
将属性条目查找到SavedValueEntry中,如果当前属性值与newValue
相匹配,则从后台修改它,否则从cronjob修改它。
其他参考资料
savedvalues-in-hybris
how-to-access-savedvalues-and-savedvalue-entries