我写了这段代码,为$ USER输出profile_display_fields
:
$appearance = profile_display_fields($USER->id);
if (empty($appearance)) {
//Do nothing
} else {
foreach ($appearance as $c) {
$custom .= '<a href=\''.$CFG->wwwroot.'/course/view.php?id='.$c->id.'\'>'.$c->fullname.'</a>';
}
}
这是我正在使用的功能:
function profile_display_fields($userid) {
global $CFG, $USER;
if ($categories = get_records_select('user_info_category', '', 'sortorder ASC')) {
foreach ($categories as $category) {
if ($fields = get_records_select('user_info_field', "categoryid=$category->id", 'sortorder ASC')) {
foreach ($fields as $field) {
require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
$newfield = 'profile_field_'.$field->datatype;
$formfield = new $newfield($field->id, $userid);
if ($formfield->is_visible() and !$formfield->is_empty()) {
print_row(s($formfield->field->name.':'), $formfield->display_data());
}
}
}
}
}
}
我要做的是尝试一些var_dump
来输出正确的数据。
然而,任何人都可以帮我识别变量吗?
答案 0 :(得分:1)
在你的函数中,你没有返回任何值但是在代码中的值之上,你已经为这个函数分配了一个变量:
$appearance = profile_display_fields($USER->id);
您需要从函数返回一些变量/数据,并且是要转储的 。
我认为您正在使用print_row
打印数据,而不是返回要在函数外使用的响应。