php - 在 Drupal 7 模板中获取自定义用户字段的值?

标签 php drupal user-interface drupal-7 custom-fields

我正在使用 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));
}

另见 Writing robust code that uses fields, in Drupal 7

关于php - 在 Drupal 7 模板中获取自定义用户字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124089/

相关文章:

php - 在 PHP 中是否有比这更好/替代的方法将变量传递到页面?

php - 使用对象作为参数与在方法中创建对象

PHP : send mail in localhost

mysql - 无法使用 View 模块创建 View

php - 每次我尝试导入 Drupal 数据库时,MySQL 服务器都消失了

c++ - 用于开发 GUI 库的文章

php - 按年份和月份一起显示的捐款

drupal - 如何在声明该自定义字段的模块的 hook_install() 中创建并实例化新的自定义字段?

c++ - 用户界面不在 qt 应用程序中更新

c++ - 更改 QTreeWidget 的选择