2016-09-28 10 views
0

Ich muss Anlage Eingang zu Moodle Anmeldeformular hinzufügen
Diese Dateieingabe wird nicht von Moodle durch den Standard user profile fields unterstützt. SoAnpassung moodle anmelden Formular

Ich versuchte es manuell hinzuzufügen:
ich hinzugefügt:

$mform->addElement('file', 'attach', "Attach", null,array('accepted_types' => 'pdf')); 
$mform->setType('attach', PARAM_RAW); 
$mform->addRule('attach', 'Missing File Attachment', 'required', null, 'client'); 

Aber wo sollte ich Moodle sagen, dass Wert in die Datenbank einfügen?

Antwort

0

Sie sollten wahrscheinlich zuerst ein benutzerdefiniertes Benutzerprofilfeld hinzufügen, wie beschrieben here. Hier sollten Sie die Funktion profile_save_data($usernew) überschreiben, um dem System mitzuteilen, wo Sie Ihre Datei speichern möchten.
Wenn Sie erfahren möchten, wie Sie die Datei aus dem Formular abrufen und speichern, können Sie here gehen. Insbesondere könnten Sie das filepicker Formularelement verwenden, die das alte file Element ersetzt, mit

$mform->addElement('filepicker', 'userfile', get_string('file'), null, 
        array('maxbytes' => $maxbytes, 'accepted_types' => 'pdf')); 


Holen Sie sich den Inhalt der Datei und den Dateinamen sowie Speicher mit:

$content = $mform->get_file_content('userfile'); 
$name = $mform->get_new_filename('userfile'); 
$success = $mform->save_file('userfile', $fullpath, $override); 

wo $fullpath ist ein Pfad im Dateisystem (wie der Ordner moodledata) und $override ist eine boolesche Bedeutung "Datei überschreiben, wenn vorhanden".
DISCLAIMER: Ich habe diese Lösung nicht selbst versucht.