无法在Drupal的节点tpl中获取用户字段的值(使用field_get_items)

时间:2012-11-30 18:36:07

标签: drupal-7

我正在尝试在节点的模板中打印节点作者的名字,但我无法让它工作。

这就是我的尝试:

$author = user_load($node->uid);
$values = field_get_items('user', $author, 'field_first_name');
$value  = $values[0]['value'];
dpm($value);
print $value;

dpm($value)打印正确的值,但print $value不打印任何内容。 dpm($values)也是如此 - 它显示一个数组,其中一个数组元素[0]包含正确的元素(值,格式,安全值)。如果我尝试print_r($values),它就不会打印任何内容。

此外,以下循环为我提供了“为foreach()提供的无效参数”警告。

foreach ($values as $first_name) {
    print '<pre>';
    print $first_name['value'];
    print $first_name['safe_value'];
    print '</pre>';
}

如果我尝试直接访问该值,我会收到“Undefined index:und in include()”通知。

 $author       = user_load($node->uid);
 $direct_value = $author->field_first_name['und']['0']['value'];
 print $direct_value;

如何打印此变量?有什么想法吗?

提前致谢。

0 个答案:

没有答案