SugarCRM之在EditViews中调用js


方法一:javascript

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

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

将代码:jquery

'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对应的键值下;ui

将代码:spa

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()">'
),
加到对应字段的位置中。orm

(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缓存都与第一种方法同样。

相关文章
相关标签/搜索