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緩存都與第一種方法同樣。

相關文章
相關標籤/搜索