Die ChronoForms bieten auch in der Version 4 unter Joomla! 1.6 die Möglichkeit Dateien innerhalb eines Formulars hochzuladen. Fügt dazu in das Formular ein "File Upload" Element hinzu.

Voraussetzung für das durcharbeiten diese Dokuemntation ist, dass Ihr bereits ein Formular, ähnlich dem in dem Beitrag "ChronoForms - Erstellen eines Formulares unter Joomla! 1.6 mit dem Easy Form Wizard" beschriebenen vor euch habt. Die Doku ist für ChronoForms V4 unter Joomla! 1.6 erstellt! Aber nun weiter "im Takt".

ChronoForms - File Upload Element hinzufüegen

Das Feld füge ich unten hinzu (blauer Pfeil) und verschiebe es anschließend an die Stelle, an der es stehen soll (roter gestrichelter Pfeil).

Im nächsten Schritt werden die Einstellungen zum Feld bearbeitet (siehe blau gestrichelter Pfeil in der nächsten Abbildung).

ChronoForms - File Upload Element Einstellungen

Es öffnen sich die Einstellungen des File Upload Elementes.

ChronoForms - Feldname

Den "Field Name" lasse ich erst mal so (merke mir "input_file_5" für die späteren Dialoge). Beim "Label Text" setze ich "Datei hochladen" ein. Klicke dann auf "Apply" (blauer Pfeil) und schließe die Einstellungen über das "X" (roter Pfeil).

Dann wechsle ich ins Register "File Uploads" (siehe blauer Pfeil in der unteren Abbildung) ...

file_upload_03_konfigurieren

... und klicke auf "Click to configure".

file_upload_04_einstellungen

Hier wird der Schalter "Enable" auf "Yes" gesetzt. Unter "Files" beschreibt Ihr, welche Dateien mit welchen Dateiendungen erlaubt sind. Das geschieht nach dem Muster...

field1:jpg-png-gif,field2:zip-rar,field3:doc-docx-pdf

Mein Feld hieß "input_file_5". Dementsprechend setze ich "input_file_5:jpg-png-gif" und erlaube so nur Bilder im JPG, PNG und GIF-Format.

Der "Upload Path" ist etwas besonderes. Im Beispiel steht:

JOOMLA_PATH/components/com_chronoforms/uploads/FORM_NAME/

Der Teil "JOOMLA_PATH" ist das Basisverzeichnis, auf dem Server eures Providers. Das kennt man in der Regeln nicht auswendig. Um dieses Verzeichnis ausfindig zu machen, klickt Ihr erst mal auf "Apply" und schließt diese Einstellungen. Dann speichert & schließt Ihr das Formular und wechselt über das Menü "Site" in die "Konfiguration".

ChronoForms - Pfad zum Uploadordner

Im Register "Server" steht das "Tempverzeichnis". Dort ist der reale Pfad zu eurer Joomla! Installation hinterlegt. Der Teil vor "/tmp" ist wichtig! Im oberen Beispiel wäre das ...

/www/htdocs/user1234/www/joomla/

Den Pfad schreibt Ihr euch auf bzw. merkt ihn euch. ACHTUNG: Das hier ist nur ein Beispiel und sieht bei euch garantiert anders aus. Kopiert also nicht den Pfad aus dieser Dokumentation, sondern den Pfad bei euch aus der Konfiguration!!! - Wollte es ja nur mal gesagt haben ;-)

Dann klicke ich hier auf "Abbrechen" und wechsle über Komponenten > ChronoForms wieder zurück zum "Wizard edit". Dort dann über "File Uploads" wieder auf "Click to configure". Bin dann wieder hier:

ChronoForms - File Upload Einstellungen

Beim "Upload Path" schreibe ich dann den kompletten Pfad zu dem Ordner, in das die hochgeladenen Datei hineingeladen werden soll. Achtet darauf, dass dieser Ordner auch existiert! Ich selbst, habe dort den Ordner "images" genutzt, da dieser bei jedem Joomla! existiert. Ihr könnt aber auch eigene Ordner anlegen und den dann wählen.

/www/htdocs/user1234/www/joomla/images

Letztlich lasse ich dann doch größere Dateien zu und setze die "Max Size in KB" auf "10000" (entspricht 10 MB ... etwas zu großzügig, ggf. reichen auch 1000 KB, also 1 MB). Müsst Ihr mit eurem Gewissen und den PHP-Einstellungen vereinbaren!


Hierzu eine kleine Randinformation: Im Menü Site > Systeminformation (organgener Pfeil) ...

PHP Informationen unter Joomla! aufrufen

... könnt Ihr über "PHP-Informationen" (roter Pfeil) ...

PHP.INI Settings - upload_max_filesize

... herausfindne, wie groß die Dateien max sein dürfen. Sucht nach der Einstellung "upload_max_filesize". Bei dem Server hier ist die auf 200M, sprich 200 Megabyte, gestellt. Damit sollten die 10 MB, die ich oben in ChronoForms eingestellt habe dann kein Problem sein (siehe auch Beschreibung der php.ini-Direktiven des Sprachkerns auf php.net).

Die Einstellungen müssen also passen. Wenn Ihr 50 MB zulassen wollt, die PHP Einstellungen aber nur 20 MB erlauben, müsst Ihr ein wenig was an den PHP-Einstellungen anpassen. Da will ich hier aber nicht weiter drauf eingen, besprecht das mit eurem Provider. Hier geht es weiter mit dem File Upload Element.


Nachdem die Einstellungen soweit vorgenommen sind ...

ChronoForms - File Upload Einstellungen

... "Apply" klicken und schließen.

Damit wird die Datei dann hochgeladen und im Ordner "images" gespeichert. Den Ordner "images" erreicht Ihr später über das Menü "Inhalt > Medien". Es ist das Basisverzeichnis des "Medien Managers".

Hier geht es weiter mit der E-Mail-Konfiguration. Die hochgeladenen Datei könnt Ihr euch in der E-Mail als Anhang zusenden lassen.

ChronoForms - E-Mail Einstellungen

Wechselt ins Register "Emails" und klickt auf "Click to configure".

ChronoForms - E-Mail Einstellungen

Im Register "General" wird im Feld "Attachments fields name" der Name des File Upload Elements eingegeben. Das Feld hatte bei mir den Field Name "input_file_5". Dann "Apply" klicken und schließen.

Damit kann das Formular endlich über "Speichern & Schließen" geschlossen werden.

Klickt dann im Forms Manager auf "Frontend View", um das Formular auszufüellen und damit die Funktionalität zu testen.

ChronoForms - Test des Formulares

Nach dem Klick auf senden kommt das "Dankeschön". Dann rufe ich schnell meine E-Mails ab...

ChronoForms - Die E-Mail mit dem Anhang

... und finde die E-Mail mit dem Dateianhang. Die Datei wurde weiterhin in den Ordner "images" auf dem Server gelegt. Kontrolliert das ggf. mit Hilfe des "Medien Managers", alternativ mit eurem FTP-Programm.

ChronoForms - Hochgeladene Datei im Media Manager

Wie Ihr seht, bekommt die Datei einen Zeitstempel vorn angehangen. Damit ist dieser Teil abgeschlossen. Das File Upload Element klappt soweit prima.

Fehlermeldungen

Hier ein paar Meldungen, die in diesem Bereich kommen könnten.

Fehlermeldung "JFolder::create: Path not in open_basedir path. Couldn't create upload directory 1"

ChronoForms - Fehlermeldung "JFolder::create: Path not in open_basedir path. Couldn't create upload directory 1"

Das bedeutet einfach, dass Ihr euch im Basisverzeichnis vertan haben müsst. Das Verzeichnis, dass Ihr unter ...

ChronoForms - File Upload Einstellungen

... "Upload Path" eingegeben habt, existiert nicht! Schaut euch die Anleitung oben noch einmal an und versucht das korrekte Verzeichnis einzugeben.

Die Meldung "Sorry, Your uploaded file size exceeds the allowed limit." ist die Standardfehlermeldung, wenn die Dateigröße der Datei, die Ihr hochladen wollt, die max. Größe (Max Size in KB) überschreitet.

ChronoForms - File Upload Element - Fehlermeldung file size exceeds

Passt die Meldung ggf. an.

ChronoForms - File Upload Element - Fehlermeldung file size exceeds

Das war's zunächst zum File Upload Element. Schaut euch die anderen Optionen in den Dialogen zum File Uplaod an. Das sollte dann keine weiteren Probleme machen. Wünsche euch viel Spaß beim Testen.

ENDE