美文网首页
SuiteCRM下的Logic Hook注意事项

SuiteCRM下的Logic Hook注意事项

作者: lamtank | 来源:发表于2020-03-31 15:30 被阅读0次

    在SuiteCRM里, 如果你的Logichook的事件是

    after_relationship_delete,after_relationship_add,before__relationship_add,before__relationship_delete

    之一的话, 那么你在关系模块下增减关系数据行时, 系统会执行两次

    一次在调用模块下, 另一次在被调用的关系模块下

    如果不注意的话, 就会导致逻辑代码重复调用, 因此你需要在LogicHookClass文件里进行入口判定

    以避免多次执行

    并且执行顺序需要注意,再新增了关系LogicHook之后,在服务器中执行的顺序会先是执行关联的Logichook,再执行其它

    例如我定义了

    $hook_array['before_save'][] =Array(1, 'Calculate total net weight, gross weight, volume', 'ContractProductsHandleLogicHook.php', 'ContractProductsLogicHook', 'calculateAmount');

    $hook_array['after_relationship_add'][] =Array(10, 'Calculate total net weight, gross weight, clearance cost on suit products', 'ContractSuitProductsHandleLogicHook.php', 'ContractSuitProductsLogicHook', 'calculateAmount');

    按照文档上,应该是先执行before_save,但是实际上是先执行after_relationship_add,并且执行两次

    最好是在custom/modules/logic_hook.php定义模块, 顺序设定好就不会出现未知的执行顺序

    相关文章

      网友评论

          本文标题:SuiteCRM下的Logic Hook注意事项

          本文链接:https://www.haomeiwen.com/subject/tswwuhtx.html