Moin karo,
danach habe ich auch gesucht und leider keine Lösung gefunden. Daher habe ich eine Möglichkeit gebastelt, die für unsere Zwecke ausreicht. Vielleicht kannst du (oder andere Besucher) damit auch etwas anfangen.
Unsere Umgebung:
Contao 2.11.6
EFG 1.16.0 stable
valumsFileUploader 3.1.0 stable
ajax 1.1.4 stable
ajax-upload 1.0.0 stable
Einschränkungen:
- Die Ausgabe der Namen der hochgeladenen Dateien funktioniert nur in der Bestätigungs- und der Info-Mail (d.h. im Formular unter (EFG) Per E-Mail versenden und (EFG) Bestätigung per E-Mail versenden, mit dem üblichen InsertTag {{form::<Feldname>}})
- Die Namen der Dateien werden nicht in den Formulardaten gespeichert, d.h. nicht unter Formulardaten speichern bzw. (EFG) Formular-Daten speichern
- Meines Wissens ist es so auch nicht möglich, die Dateinamen auf einer Bestätigungsseite anzuzeigen - das habe ich aber nicht getestet
- Die Option "attachment=true" im InsertTag funktioniert nicht - valumsFileUploader kann AFAIK derzeit generell keine Dateien an E-Mails anhängen
- Daher muss das valumsFileUploader-Feld im Formular unter "Datei speichern" die Option "Hochgeladene Dateien speichern" aktiviert haben
- Ich habe direkt die PHP-Skripte vom EFG geändert, d.h. bei einem Update gehen die Änderungen verloren. Vielleicht habe ich auch wichtige Dinge übersehen, daher keine Garantie und keine Haftung.
Folgende zwei Dateien habe ich angepasst:
/system/modules/efg/Efp.php
ab Zeile 640 folgende Zeilen eingefügt (alles zwischen // ADDED und // /ADDED):
PHP-Code:
elseif ($strType=='upload')
{
...
}
// ADDED MartinG to support valumsFileUploader field
elseif ($strType=='valumsFileUploader')
{
$strVal = $this->FormData->preparePostValForMail($arrSubmitted[$strKey], $arrField, $arrFiles);
if (!is_array($strVal) && !strlen($strVal) && $blnSkipEmpty)
{
$strLabel = '';
}
$messageText = str_replace($tag, $strLabel . $strVal, $messageText);
$messageHtml = str_replace($tag, $strLabel . $strVal, $messageHtml);
}
// /ADDED
else
{
...
ab Zeile 1026 noch einmal genau die gleichen Zeilen eingefügt.
/system/modules/efg/FormData.php
ab Zeile 75 eingefügt:
PHP-Code:
$this->arrFFstorable = array(
...
'upload', 'fileTree'
// ADDED MartinG to support valumsFileUploader field
, 'valumsFileUploader'
// /ADDED
);
ab Zeile 950 eingefügt:
PHP-Code:
case 'upload':
...
break;
// ADDED MartinG to support valumsFileUploader field
case 'valumsFileUploader':
$strVal = '';
$arrDateien = array();
foreach ($varFile as $datei) {
$arrDateien[] = $datei['name'];
}
$strVal .= implode(', ', $arrDateien);
break;
// /ADDED
case 'password':
...
Hope this helps!
Martin