1

profile_display_fields$USERの を出力するこのコードを書きました。

$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の s を試して正しいデータを出力することです。

しかし、変数を特定するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

関数では値を返しませんが、コードではそれより上に、この関数に変数を割り当てています。

$appearance = profile_display_fields($USER->id);

関数からいくつかの変数/データを返す必要があり、それが var dumped になります。

関数から使用される応答を返すのではなく、データを出力するprint_rowためにを使用していると思います。

于 2010-02-21T12:21:37.617 に答える