SugarCRM逻辑钩从CE迁移到Professional问题

时间:2017-06-19 08:57:48

标签: php sugarcrm

我正在使用SugarCRM 6.8 CE,我的逻辑钩子按预期工作。但是,当我切换到SugarPro-Full-7.8.2.0时。逻辑挂钩根本不起作用。我正在关注文档http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_7.8/Architecture/Logic_Hooks/。我的代码如下:

SugarPro-全7.8.2.0 /定制/模块/账户/ logic_hooks.php

<?php

$hook_array['after_ui_frame'] = Array();
$hook_array['after_ui_frame'][] = Array(2, 'After Relationship Add','custom/Extension/modules/Accounts/Ext/LogicHooks/account_hooks.php','AccountHooks','generateOWQ');

?>

SugarPro-全7.8.2.0 /定制/模块/账户/外部/ LogicHooks / account_hooks.php

<?php
    if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

    class AccountHooks{

        function generateOWQ($event, $arguments){
           //my logic
        }
    }

?>

1 个答案:

答案 0 :(得分:3)

after_ui_frame挂钩是遗留的MVC挂钩,不适用于Sugar 7中的 Accounts 模块。

正如documentation所指出的那样:

  

after_ui_frame挂钩在调用帧之后和调用页脚之前执行以便向后兼容模式下的模块

强调我的

大多数Sugar 7模块(包括 Accounts )使用Sugar的sidecar javascript framework来构建客户端的用户界面。 那些模块 b 确认 w ards- c ompatiblity模式下运行不 em>调用此钩子。只有其网址中包含#bwc的非边车模块。

根据你的逻辑必须做的事情,考虑使用不同的钩子,例如after_relationship_addafter_retrieveetc.

如果您的代码也应该修改UI,您可能必须在客户端执行操作,例如extending views