SugarCRM之在EditViews中调用js

本文介绍了两种在SugarCRM中自定义加载JS文件的方法。一种是在模块目录下直接操作,另一种则是通过custom目录来实现,后者更为安全稳定。文章详细说明了每一步骤及其注意事项。

方法一:

(1)  在modules/modulename里面添加相应的modulename.js文件;

(2)       在modules/modulename/metadata/editviewdefs.php中将js文件包含进来,并在相应的字段中加入响应函数。如下所示:

将代码:

'includes'=> array(
array('file'=>'/modules/modulename/modulename.js'),
),

如果需要包含多个js文件,也可以这样写:

'includes' =>  
      array ( 
        0 =>  
        array ( 
          'file' => 'custom/include/javascript/jquery.js', 
        ), 
        1 =>  
        array ( 
          'file' => 'custom/include/javascript/modulename/modulename.js', 
        ), 
      ),  

加到templateMeta对应的键值下;

将代码:

array(
'name' => 'phone_work',
'customCode' => '<input name="phone_work" id="phone_work" size="30" maxlength="25" type="text" value="{$fields.phone_work.value}" onblur="hello()">'
),加到对应字段的位置中。

(3)       在/modules/modulename/modulename.js中加入以下js代码:

function hello (argument) {

       // body...

       alert('hello,my godness!');

}

(4)       然后在Admin>>Repair>>Quick Repair and Rebuild清除js缓存,并重新生成js文件即可。

 

方法一存在不安全因素,如果系统升级等原因,会重新初始化js文件。更安全的方法是放到custom目录下,即方法二。

方法二:

(1)       在custom/include/javascript/modulename中加入modulename.js,如果没有这个目录,可以新建一个。

(2)       将modules/modulename/metadata/editviewdefs.php复制到custom/ modules/modulename/metadata目录下,此时,首先被解析的是custom目录下的view,而不是modules目录下的view,也就是说custom目录下的优先级要比modules目录下的大。

(3)       其他代码添加和清除js缓存都与第一种方法一样。

转载于:https://www.cnblogs.com/casney/p/4694558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值