SugarCRM之在EditViews中调用js

本文介绍了在Odoo模块中安全地添加自定义JS代码的两种方法,包括直接添加到custom目录下的做法以及避免系统升级时重新初始化JS文件的策略。同时,提供了详细的操作步骤和代码示例。


方法一:

(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://my.oschina.net/u/1455129/blog/202020

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值