我正在使用 drupal 构建我的第一个站点。我做了一个自定义用户字段:全名。 现在我想在我的模板中获取这个字段的值来表示“你好,%username%”。 我该怎么做?
最佳答案
克莱夫的答案是正确的,除了你应该使用 field_get_items
获取字段的值。它将为您处理语言。您还应该清理该值。
function THEME_preprocess_page() {
global $user;
$user = user_load($user->uid); // Make sure the user object is fully loaded
$full_names = field_get_items('user', $user, 'field_full_name');
if ($full_names) {
$vars['full_name'] = check_plain($full_names[0]['value']);
}
}
如果您的站点使用 Entity API模块,你也可以像这样使用实体元数据包装器
function THEME_preprocess_page() {
global $user;
$user = user_load($user->uid); // Make sure the user object is fully loaded
$wrapper = entity_metadata_wrapper('user', $user);
$vars['full_name'] = $wrapper->field_full_name->get(0)->value(array('sanitize' => TRUE));
}
关于php - 在 Drupal 7 模板中获取自定义用户字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124089/