2012-04-09 9 views
1

Global $ user;無法在Drupal 7中調出字段值。這是一個錯誤嗎?

$items = field_get_items('user', $user, 'field_patientid', $user->language); 

我在用戶實體上有一個字段,我總是在我的調試中得到一個FALSE值。

在我的數據庫中,我有正確的實體類型,它是用戶。爲什麼我沒有得到任何價值?

我能夠用拉漲值:

$user_fields->field_patientid['und']['0']['value']; 

爲什麼上述說法不工作?

回答

3

如果您查看field_get_items()的代碼,您會注意到您正在查找的字段信息需要已存在於$user對象中才能由該函數返回。

global $user不提供現場數據。

http://api.drupal.org/api/drupal/developer%21globals.php/global/user/7#comment-13744

全球用戶對象包含Drupal核心的一些基本數據。它 不會自動包含來自其他模塊的數據,包括 核心配置文件模塊。要獲取用戶對象中的所有數據,您需要 完成user_load()

+0

謝謝你。 – jini 2012-04-10 05:22:19