2014-11-03 48 views
0

如何從我附加到SugarCRM V6.5中的DetailView上的字段的定製JavaScript文件訪問全局SugarCRM變量。

具體來說,我想從JavaScript文件中訪問$current_user全局PHP變量。

我已經通過編輯custom/modules/Accounts/views/detailviewdef.php,然後編輯陣列看起來像這樣

array (  0 => 
    array (
     'file' => 'modules/Accounts/Account.js', 
    ), 
    1 => 
    array (
     'file' => 'custom/modules/Accounts/Account1.js', 
    ), 
), 

,我想從$current_user訪問的細節添加的JavaScript文件實際上是一個定製的,我給User做模塊爲每個用戶添加更多配置選項。

我在Google的其他地方看到我可以在自定義Javascript文件中使用var current_user = current_user;,它實際上顯示登錄用戶的用戶ID,但是我真正想要的是獲取用戶詳細信息對象,請任何人都有有任何想法嗎。

問候

回答

0

我建議寫在JSON發回整個CURRENT_USER數據的控制器。

定製/模塊/會計/ Controller.php這樣

class AccountsController extends SugarController{ 
    function __construct(){ 
     parent::__construct(); 
    } 

    function action_getCurrentUser(){ 
     echo json_encode($GLOBALS['current_user']); 
    } 
} 

而在你的JS文件調用它是這樣的:

var request = $.ajax({ 
     url: 'index.php', 
     data: { 
      module: 'Accounts', 
      action: 'getCurrentUser', 
      to_pdf: true, // this reduces the response so that json works 
     }, 
+0

嗨@Pauel,感謝您的答覆。如果我在賬戶模塊中創建控制器,例如'custom/modules/Accounts/controller.php',我如何讓SugarCRM調用添加的新動作,在你的情況下 - 'action_getCurrentUser()'。我認爲這個行動需要事先登記? – user980643 2014-11-05 18:33:02

+0

無需註冊。我更新了我的示例 – pauel 2014-11-07 08:25:57

+0

它會回答您的問題嗎?或者我可以幫助您 – pauel 2014-11-12 11:47:08