我开发了一个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代码。
答案 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
。