Hallo zusammen,
ich nutze th_mailformplus 3.8.0 und wollte jetzt den File-Upload ermöglichen.
Habe also das HTML-Template um das entsprechende Feld erweitert, die Error-Meldungen definiert und im TS eingetragen:
plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB
{
dbTable = tt_content
fileUpload = uploads/mailform/
fileTypes = jpg,gif,png,jpeg
# set maximum filesize to 100Kb
fileSize = 100000
# change .96. to an existing page-ID in your TYPO3 project
dbinsert=pid:36,hidden:0,CType:textpic
# if dbkey is not set: "uid" is taken
dbkey =uid
# [inputFieldName]:[DBName]
mapping=name:header,subject:bodytext,photo:image,photo2:image
}
Auf der Page 36 ist das Formular.
Nun tut sich aber gar nichts: Weder werden z.B. 150KB-Files oder PDFs mit Fehlermeldung abgefangen; noch werden korrekte Dateien hochgeladen. Der Ordner uploads/mailform/ bleibt leer, die Nachricht dagegen läuft in die Datenbank und der Nutzer wird auf die success-Seite geleitet.
Was hab ich falsch gemacht?
Vielen Dank für jeden Hinweis!
Gruß Alex
Sorry, dass ich das jetzt noch mal pushe.
Hat noch niemand th_mailformplus mit Datei-Upload verwendet? Vielleicht könnte jemand sein TS posten, das wär echt nett!
Gruß Alex
steht so im manual
ich nutze allerdings typo3 4.0
und sieht genauso aus wie bei dir
plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
dbTable = tt_content
fileUpload = fileadmin/Ordner/
fileTypes = doc,pdf
# set maximum filesize to 100Kb
fileSize = größe angeben
# change “96” to an existing page-ID in your TYPO3 project
dbinsert=pid:96,hidden:0,CType:textpic
# if dbkey is not set: "uid" is taken
dbkey =uid
# [inputFieldName]:[DBName]
mapping=name:header,subject:bodytext,photo:image,photo2:image
}
jbee
Danke für die Antwort!
Ich hab auch TYPO3 4.0(.2), die Ext. selber ist 3.8.0.
Einen Unterschied hab ich bemerkt: Ich hatte keinen Ordner unterhalb von fileadmin/ verwendet. Allerdings lag es daran nicht, das hab ich jetzt getestet.
Ich raffs nicht! #angry#
Ich habe nun die Extension auf 3.9.0 aktualisiert - ohne Erfolg.
Wo habt ihr den TS-Schnipsel denn platziert?
Jetzt ist mir noch ein weiteres Problem aufgefallen: Als return-path der Mails an Absender und Empfänger erscheint eine E-Mail-Adresse, die da überhaupt nicht stehen sollte! Woher wird die gezogen? Kann man die ändern?
Du hast doch sicher ein Sysordner erstellt für die Mailform?
Dann den Datensatz Mailformplus auswählen.
Dort kannst du die Mailadresse eingeben.
Hast du dir das Template angepasst zum Fileupload?
<td valign="top">###error_filesize######error_filetype###<input type="file" name="xxxxx " size="50" maxlength="xxxxx" accept="image"><br>
usw?
jbee
Danke für die Antwort!
Brauche ich einen Sysordner? Die Anfragen laufen bei mir einfach an der Stelle auf, an der das Formular in die Seite eingebunden ist. Ich exportiere sie dort eh nicht, da sie ja per Mail zugestellt werden.
Die Absenderadresse habe ich dort eingestellt, die ist auch richtig in den Mails. Bloß in den Mails wird zusätzlich als "reply-to" eine abweichende Adresse eingetragen, nämlich jene, die beim Hoster als Kontaktadresse angegeben ist. Die erscheint an keiner Stelle innerhalb von TYPO3, daher vermute ich, sie kommt aus irgendeiner globalen Servervariable (sowas wie "owner" o.ä.). Daher würde ich sie gerne überschreiben, doch in der Extension scheint es dafür kein Feld zu geben.
Das Template hatte ich angepasst, das Auswahlfeld erscheint auch, nur hochgeladen wird nichts.
Gruß Alex
Ich habe einen erstellt damit ich übersichtlich meine Mailforms machen kann da ich einige habe. Ich benutze noch die 3.8 Version von Mailform+
den TS habe ich direkt auf der seite hinterlegt wo die extension eingefügt ist
da ich wie gesagt einige habe ist der code auch etwas anders (Ordner z.B.🙂
ja mit der mailadresse ist schon etwas seltsam bei mir stimmt die reply!!
ich hoffe du bekommst das noch hin
gruß
jbee
Wo genau hast du das TS eingefügt - in ein +ext-Template zu der Seite oder ins Config der Seite unter Seiteneigenschaften?
Hmmm ... hab ich auch. Vielleicht probier ich das mal mit dem Sysordner.
Nee, irgendwie nicht. Nach Änderung des Ausgangspunkts auf den Sysordner und der ID im Template wurde das Formular gar nicht mehr angezeigt.
Also hab ich den Ausgangspunkt und die ID wieder auf die Seite geändert, in der das Formular eingebunden ist.
Nun wird erstaunlicherweise eine Datei hochgeladen. ABER: Sie landet unter uploads/tx_thmailformplus, und wird nicht auf Größe oder Dateiformat überprüft.
Irgendwie muss also noch was beim Template falsch sein.
So ich habe jetzt noch mal über eine andere Mailform drüber geschaut. Ich hatte es auch mal so wie du gemacht auf einer Seite.
Dort habe ich es so gemacht.
1. Standart Seite angelegt
2. Datensatz ausgewählt Mailform+
E-Mailfelder und Betreff ausgefüllt
3. Angepasstes Template hochgeladen (entweder über durchsuchen,FTP oder anders)
Template im datensatz angegeben.
4. Extension auf der Seite eingefügt. Ausgangspunkt der selben Seite festgelegt.
5. TS eingefügt wie oben im thread beschrieben.
Ich glaube das wars (ist schon länger her das ich es gemacht hatte)
Ich weiss nicht ob es noch anders geht aber es klappt bei mir!
gruß
jbee
GENAU SO hab ich es auch gemacht?
Und das TS hab ich hier ja eingangs gepostet.
Ich versteh allerdings nicht ganz, was die Zeile
# if dbkey is not set: "uid" is taken
dbkey =uid
bewirken soll.
Vielleicht liegt da der Fehler?
Gruß Alex
dann wird es in der datenbank gespeichert habe ich aber auch nicht gesetzt.
Ist wohl dafür da um die Form immer wieder verfügbar zu machen.
kannst du mir dein Template mal per pm senden? Dann schaue ich es mir mal an.
jbee
Hallo,
wenn die Formular Daten in eine Datenbank gespeichert werden, gibt dbkey den Primary Key der Tabelle an. Bei tt_content ist das 'uid'.
# if dbkey is not set: "uid" is taken
dbkey = uid
Wenn Du jetzt in eine eigene Tabelle speicherst, musst du den dbkey auf den Primary key deiner Tebelle setzen. (Wichtig es sollte einer vorhanden sein).
Es funktioniert auch ohne, bis du deinen FileUpload auf die eigene Tabelle mappen möchtest. Nur wenn der dbkey korrekt gesetzt ist, erscheint der Dateiname des entsprechenden Uploads.
Vielleicht kannst du damit etwas anfangen.
jopo
Hi,
versteh ich nicht ganz. Wo werden denn die Daten sonst gespeichert, wenn nicht in der Datenbank?
Gruß Alex
Es funktioniert auch ohne, bis du deinen FileUpload auf die eigene Tabelle mappen möchtest.
da meinte ich nicht ohne Datenbank, sondern ohne Primary Key.
Ich hoffe ich habe dich jetzt richtig verstanden. Oder meinst du was anderes? ...Grübel.
Grüße
jopo