2013-03-21 95 views
2

我寫了一個定製的PHP文件,以便從SugarCRM的AJAX請求中調用。但是,當我嘗試打印時SugarCRM,通過AJAX調用獲取當前登錄的用戶詳細信息

global $current_user; 

print_r($current_user); 

它會打印空白值,並列出數組中列出的所有字段,如下所示。

User Object 
(
    [name] => 
    [full_name] => 
    [id] => 
    [user_name] => 
    [user_hash] => 
    [salutation] => 
    [first_name] => 
    [last_name] => 
    [date_entered] => 
    [date_modified] => 
    [modified_user_id] => 
    [created_by] => 
    [created_by_name] => 
    [modified_by_name] => 
    [description] => 
    [phone_home] => 
    [phone_mobile] => 
    [phone_work] => 
    [phone_other] => 
    [phone_fax] => 
    [email1] => 
    [email2] => 
    [address_street] => 
    [address_city] => 
    [address_state] => 
    [address_postalcode] => 
    [address_country] => 
    [status] => 
    [title] => 
    [portal_only] => 0 
    [department] => 
    [authenticated] => 
    [error_string] => 
    [is_admin] => 0 
    [employee_status] => 
    [messenger_id] => 
    [messenger_type] => 
    [is_group] => 
    [accept_status] => 
    [team_id] => 
    [receive_notifications] => 1 
    [default_team] => 
    [reports_to_name] => 
    [reports_to_id] => 
    [team_exists] => 
    [table_name] => users 
    [module_dir] => Users 
    [object_name] => User 
    [user_preferences] => 
    [importable] => 1 

.....

我已搜查在SugarCRM的論壇,但沒有用。我懷疑原因可能是有效的入口點是不是在我的自定義頁面定義,因爲不知道如何除下列方法

if(!defined('sugarEntry'))define('sugarEntry', true); 
    if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); 
    require_once('include/entryPoint.php'); 
+0

這是用於SugarCRM 7.x安裝還是用於SugarCRM 6.x? – jjtbsomhorst 2014-03-13 08:38:40

+0

其SUgarCRM 6.4 – AjayR 2014-03-17 03:12:17

回答

1

我知道這個問題是定義的方式回到2013年,共享思想:)

發生這種情況,當你調用

global $current_user; 

外SugarCRM的,我做了一個選擇是創建自定義的用戶模塊和接入$ CURRENT_USER變量掛鉤那裏,只取那些需要的值,可能節省的會話? , 取決於你。

希望這有助於人:)

樣品我所做的

創建一個文件custom_external_session.php

<?php if(!defined('sugarEntry') ||!sugarEntry) die('Not A Valid Entry Point'); 
class custom_external_session { 
    function get_current_user(& $focus, $event, $arguments){ 
      global $current_user; 
      $user_id = $current_user->id; 
      session_start(); 
      $_SESSION["custom_current_user"] = $user_id; 
    } 
} 
  • 上傳這個文件到/ var/WWW/html/sugarcrm/custom/modules/Users/

注:在/ var/www/html等/ SugarCRM的/ - >這個變化到你把SugarCRM的

  • 然後將該文件夾上(/自定義/模塊/用戶/),編輯logic_hooks.php然後添加以下代碼

    $hook_array['after_login'][] = Array(5, 'custom_external_session', 'custom/modules/Users/custom_external_session.php', 'custom_external_session', 'get_current_user'); 
    
  • 現在可以使用這樣的:$ _SESSION [「custom_current_user」]得到當前USER_ID,那麼你可以用它玩的是創紀錄的,男也可以在保存的會話中編輯或添加更多信息,比如說想要全名等,只需在custom_external_session下執行即可。我不確定是否有更好的方法使用外部代碼

  • 記得總是RELOGIN當您編輯custom_external_session時,值將被更新。

希望這對你更清楚。

+0

仍然無法正常工作。它只顯示空白。 – AjayR 2014-04-10 06:06:03

相關問題