添加javascript包括使用扩展名

时间:2013-08-13 16:14:25

标签: sugarcrm suitecrm

我开发了一个javascript文件,我希望将其包含在一个包中,我看到我可以使用自定义的editviews.php文件添加它。这很好。但是,我希望我的对手能够轻松安装它。我在custom / extension / modules / leads / vardefs /文件夹中创建了一个文件,其中包含以下内容(并进行了快速修复):

$viewdefs['Leads']['EditView']['templateMeta']['includes'][]=array('file'=>'custom/modules/mme_form_js_functions.js');
$viewdefs['Leads']['QuickCreate']['templateMeta']['includes'][]=array('file'=>'custom/modules/mme_form_js_functions.js');

这似乎不起作用,所以如果有人使用扩展框架快速建议如何做到这一点,我很想知道答案,而不必解开糖PHP代码。

2 个答案:

答案 0 :(得分:0)

进行这些更改后,您是否进行了快速修复和重建?这是必需的。另一件事是SugarCRM中的大小写计数和您的文件位于错误的位置,它应该是

定制/扩展/模块/信息/外部/ Vardefs / YourFileName.php

答案 1 :(得分:0)

这就是我最终完成此操作的方式(SuiteCRM 7.10):

首先,注册一个after_ui_frame 应用钩子,即创建包含以下内容的custom/Extension/application/Ext/LogicHooks/myhooks.php

<?php

$hook_version = 1;  
$hook_array = Array();  
$hook_array['after_ui_frame'] = Array();  
$hook_array['after_ui_frame'][] = Array(99, 'Add my custom js',
                      'custom/Extension/application/mycustomizations.php', 'MyHooks', 'add_my_js');

然后创建custom/Extension/application/mycustomizations.php并添加您的javascript文件(您可以决定仅将其添加到某些模块/操作中):

<?php

if(!defined('sugarEntry') || !sugarEntry) die('Not a valid entry point');

class MyHooks {

    function add_my_js($event, $args){
        if ($_REQUEST['module'] == 'Leads' && $_REQUEST['action'] == 'EditView') {
echo '<script type="text/javascript" src="custom/Extension/application/mycustom.js"></script>';
        }
    }
}

最后,执行Quick repair and rebuild