我对Sugarcrm很陌生,如果我问一些愚蠢的事,那就很抱歉。
我已经构建了2个模块:
http://postimg.org/image/6qabtru3t/
两者之间的关系是“一对多”(一个订单到多个石头)。因此,订单的每个记录都有一个石头子面板(你可以在附图中看到它)。我希望从子订单中的字段的每次更改中同步一个字段(您可以看到它以红色圈出) - 父级的价格字段应该是子面板上所有相同字段的总和。
所以,我尝试使用这样的逻辑钩子:
$hook_array['after_relationship_add'] = Array();
$hook_array['after_relationship_add'][] = Array(1, 'after_relationship_add_hook', 'custom/modules/abc_Module_Order/HookHandler.php','class_after_relationship_add_hook', 'func_after_relationship_add_hook');
但它似乎无处可去。我该怎么办?使用Ajax?其他方法做逻辑钩?
非常感谢帮助,谢谢..
答案 0 :(得分:1)
你走在正确的道路上。还要确保处理after_relationship_delete,以便从订单中删除Stone。
为了简单起见,我将重新定义您的逻辑钩子: 定制/模块/ abc_Module_Order / logic_hooks.php
$hook_array['after_relationship_add'] = Array();
$hook_array['after_relationship_add'][] = Array(1, 'update_order_addition', 'custom/modules/abc_Module_Order/HookHandler.php','HookHandler', 'update_order_additional');
$hook_array['after_relationship_delete'] = Array();
$hook_array['after_relationship_delete'][] = Array(1, 'update_order_removal', 'custom/modules/abc_Module_Order/HookHandler.php','HookHandler', 'update_order_removal');
然后在custom / modules / abc_Module_Order / HookHandler.php文件中,您将定义update_order_addition和update_order_removal函数,这些函数将获取Stone的价格并适当地更新订单。