Hallo zusammen
Bin am testen der neuen TYPO3 Version 4.6.0., im speziellen die neue Form Extension. Mir ist aufgefallen, das unter IE9 der Wizard nicht funktioniert. Hat dazu jemand eine Lösung?
Auch konnte ich bis jetzt kein Sprachpacket runterladen. Suche vor allem Deutsch, Französisch und Italienisch.
Tipp: Beim Updaten von eine alten Version, müssen alle Sprachdateien neu geladen werden, da heues Konzept:
1.) Alle "alten" Erweiterungen bezüglich der Übersetzung entfernen
2.) Den Ordner "typo3conf/l10n" löschen
3.) Alle Zip Archive im Ordner typo3temp löschen
4.) Sprache im Erweiterungsmanager neu auswählen und aktualisieren. Ggfl. öfter wenn es nicht gleich klappt
Hat aber bis jetzt nicht funktioniert 🙁
http://test.aloco.ch/typo3
Benutzer: test
Passwort: test
Danke!
Hi!
IE9 nutze ich nicht, dazu kann ich leider nix sagen. Bist Du bei den Sprachpaketen weiter gekommen? Da habe ich leider auch keine Lösung gefunden.
Gruß, Jan
Hi Jansch
Habe das Problem im Moment etwas auf die Seite gelegt, da zum Glück nicht dringend. Werde mich melden, wenn ich die Lösung habe... Gruss vom Webdesigner aus Bern.
Danaron
Hi Danaron,
ich hab's jetzt doch ans laufen bekommen. Beim ersten mal hatte ich nen dummen Fehler. Hier nun die Anleitung:
Aktuelle deutsche übersettzungen herunterladen:
http://translation.typo3.org/de/TYPO3.TYPO3.core.form/export/zip
dateien umbenennen indem ein “de.” An den Anfang des Namens kommt
ins verz. /typo3conf/l10n/de/form/Resources/Private/Language kopieren
fertig. Aktuell sind im backend wizard dann noch nicht alle Dinge übersetzt, weil hier auf dem translation server noch nicht alles freigegeben wurde. Das kann man ändern, indem man selbst dort wo zwischen <target> </target> nichts steht, die Werte einträgt
Wieso das Update vom Language Server nicht klappt, ist mir auch nicht ganz klar. Evtl. ist die Extension noch nicht freigegeben für ne deutsche Übersetzung?
Hi Jansch
Danke für den Tipp. Ist etwas kompliziert und deshalb hoffe ich auch, dass die Übersetzung bald freigegeben wird, so dass ich die 4.6 Version auch produktiv einsetzen kann.
Grüsse Dan
Noch was zum Thema neue form extension unter 4.6:
Bekomme das Form.css nicht weg. Scheint, da die Extension neu im Core ist nicht zu reagieren auf
page.config.removeDefaultCss = 1
plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >
plugin.tt_news._CSS_DEFAULT_STYLE >
plugin.form._CSS_DEFAULT_STYLE >
plugin.form._CSS_DEFAULT_STYLE >
plugin.mailform._CSS_DEFAULT_STYLE >
plugin.mailform._CSS_DEFAULT_STYLE >
oder sonst was
Habe das CSS unter typo3\typo3_src\typo3\sysext\form\Resources\Public\CSS\Form.CSS mal angepasst. Ist aber sicher nicht die Lösung.
Wer kann hier helfen?
Zwei weitere Fragen drängen Sich mir auf, welche das Manual nicht beantworten kann:
Eingegebenes E-Mail als Sender?
Wie kann ich machen, dass die eingegebene E-Mail Adresse auch gerade als Senderadresse angegeben wird? Mit den Standard E-Mail Element klappt das nicht. Beim alten reichte die Bezeichung email des Elements...
Betreff (subject)
Bei mir steht im Betreff immer Formmail on pxxxxxx.webspaceconfig.de (mittwald), Wo kann ich diesen Betreff für das Formular jeweils ändern?
Im Anhang noch das Manual, da online nix zu finden...
Danke für eure Hilfe!
danaron schrieb
Zwei weitere Fragen drängen Sich mir auf, welche das Manual nicht beantworten kann:
Eingegebenes E-Mail als Sender?
Wie kann ich machen, dass die eingegebene E-Mail Adresse auch gerade als Senderadresse angegeben wird? Mit den Standard E-Mail Element klappt das nicht. Beim alten reichte die Bezeichung email des Elements...
Betreff (subject)
Bei mir steht im Betreff immer Formmail on pxxxxxx.webspaceconfig.de (mittwald), Wo kann ich diesen Betreff für das Formular jeweils ändern?
Im Anhang noch das Manual, da online nix zu finden...
Danke für eure Hilfe!
Hi Danaron,
das geht im Postprocessor. Hier mal mein Beispiel, wie Du es im Formular eintragen kannst.
postProcessor {
1 = mail
1 {
recipientEmail = empfänger@mail.de
senderEmail = absenderemail
subject = Betreff der EMail
}
}
10 = FIELDSET
10 {
10 = TEXTLINE
10 {
name = Name
label {
value = Ihr Name
}
}
20 = TEXTLINE
20 {
name = absenderemail
label {
value = Ihre Emailadresse
}
}
...
schöne Grüße!
jan
Der Betreff klappt wunderbar, Danke Jan!
Das mit dem eingegebenen E-Mail als Sender leider nicht.
Habe im localconf.php mal folgendes eingetragen:
$TYPO3_CONF_VARS['MAIL']['defaultMailFromAddress'] = 'absenderemail';
$TYPO3_CONF_VARS['MAIL']['defaultMailFromName'] = 'Name';
Hilft aber auch nicht wirklich. Was mach ich da falsch?
danaron schrieb
Der Betreff klappt wunderbar, Danke Jan!
Das mit dem eingegebenen E-Mail als Sender leider nicht.
Habe im localconf.php mal folgendes eingetragen:
$TYPO3_CONF_VARS['MAIL']['defaultMailFromAddress'] = 'absenderemail';
$TYPO3_CONF_VARS['MAIL']['defaultMailFromName'] = 'Name';
Hilft aber auch nicht wirklich. Was mach ich da falsch?
Hallo Danaron,
hast Du gesehen, dass dieses "absenderemail" der Name des Feldes ist, in dem der Nutzer seine Email eintragen muss? Deshalb hab ich auch ein Teil des Fieldsets noch gepostet.
die localconf hab ich nicht angefasst.
sg! jan
Danke Jan, ja, das habe ich gesehen...
Mein Code:
lang = de
method = post
title = Kontakt
prefix = kontakt
confirmation = 0
postProcessor {
1 = mail
1 {
recipientEmail = max.muster@domain.com
senderEmail = absenderemail
subject = Kontakt
}
}
10 = FIELDSET
10 {
legend {
value = Kontaktformular
}
10 = TEXTLINE
10 {
name = name
label {
value = Name
}
}
20 = TEXTLINE
20 {
name = vorname
label {
value = Vorname
}
}
30 = TEXTLINE
30 {
name = absenderemail
label {
value = E-Mail
}
}
40 = TEXTAREA
40 {
cols = 40
rows = 5
name = enquiry
label {
value = Nachricht
}
}
50 = RESET
50 {
value = löschen
}
60 = SUBMIT
60 {
name = submit
value = senden
}
70 = TEXTBLOCK
70 {
class = content-textblock
content = (Die mit <em>*</em> bezeichneten Felder müssen ausgefüllt werden)
}
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = *
error = Bitte ausfüllen!
element = name
}
2 = required
2 {
breakOnError = 0
showMessage = 1
message = *
error = Bitte ausfüllen!
element = vorname
}
3 = required
3 {
breakOnError = 0
showMessage = 1
message = *
error = Dies ist ein Pflichtfeld
element = absenderemail
}
4 = email
4 {
breakOnError = 0
showMessage =
message = (max.muster@domain.com)
error = Dies ist keine gültige E-Mail-Adresse
element = absenderemail
}
5 = required
5 {
breakOnError = 0
showMessage = 1
message = *
error = Bitte ausfüllen!
element = enquiry
}
}
Ist die confirmations Nachricht auch anpassbar pro Formular?
argh, mein fehler. das Feld heißt
senderEmailField
nicht
senderEmail
zu der anderen Frage weiß ich leider auch nix. wenn aber jemand herausfindet, wie man auf tsfe daten mit dem neuen Formhandler zugreift, lasst es mich wissen 🙂
sg! jan
jansch schrieb
das Feld heißt senderEmailField
Funktioniert. Danke vielmals!
Wir bleiben am Ball ;-)
So. habe jetzt auch das Problem gelöst, dass Variablen nicht mehr aufgelöst werden. Ob das ganze "sauber" gelöst ist, könnt ihr Euch ja streiten 😉 Hab keine Filter entfernen müssen, deshalb sollte es in jedem Fall sicher sein. Musste dazu in der Sysext rumpfuschen. die korrigierte Datei hängt an und ich erstelle gleich auch mal ein Featurerequest, falls es noch keins gibt.
Mit dieser Änderung ist es möglich, Werte aus dem TSFE auf folgende Weise direkt in den Formwizard zu schreiben.
20 = TEXTLINE
20 {
name = absenderemail
readonly = readonly
value = {TSFE:fe_user|user|email}
label.value = Deine Emailadresse
}
Hallo,
ich arbeite mich gerade auch in den neuen Formwizard ein, und komme an zwei Stellen nicht weiter:
1. Wie kann ich die Meldung "The form has been sent successfully by mail" welche nach dem Absenden erscheint anpassen? Könnte ich stattdessen auch auf eine Antwortseite weiterleiten?
2. Ist es möglich, dem Absender, sofern er eine Mailadresse angegeben hat eine Bestätigungsmail zu senden, dass die Nachricht erfolgreich eingegangen ist?
Vielen Dank,
Anderl
anderlk schrieb
Hallo,
ich arbeite mich gerade auch in den neuen Formwizard ein, und komme an zwei Stellen nicht weiter:
1. Wie kann ich die Meldung "The form has been sent successfully by mail" welche nach dem Absenden erscheint anpassen? Könnte ich stattdessen auch auf eine Antwortseite weiterleiten?
2. Ist es möglich, dem Absender, sofern er eine Mailadresse angegeben hat eine Bestätigungsmail zu senden, dass die Nachricht erfolgreich eingegangen ist?
Vielen Dank,
Anderl
Hi Anderl,
bei der ersten Teilfrage von 1. kann ich Dir helfen. Das kann man im Postprocessor eintragen.
postProcessor {
1 = mail
1 {
messages {
success = Hier Deine Erfolgstext
error = Fehlermeldung
}
}
}
Die anderen Dinge wären möglich, wenn Du Dir selbst einen weiteren Postprocessor schreibst. Das hab ich selbst aber auch noch nicht gemacht. Um die ganze Logik zu verstehen musst Du Dich mit Extbase gut auskennen, was ich selbst leider auch noch nicht tue. Der Typoscriptteil könnte dann so aussehen:
postProcessor {
1 = mail
1 {
messages {
success = Hier Deine Erfolgstext
error = Fehlermeldung
}
}
2 = meinPostProc
2 {
forwardIDSeite = 36
sendConfirmationMail = 1
}
}
Jetzt musst Du der Form Extension noch irgendwie beibringen, dass sie eine PHP Klasse mit dem Namen tx_form_System_Postprocessor_meinPostProc erkennt und diese Klasse ausprogrammieren. Wenn Du es geschafft hast diese Klasse anzumelden, meld Dich mal wieder hier, die Klasse schreiben schaffen wir zusammen 🙂
Gruß, Jan
anderlk schrieb
Hallo,
ich arbeite mich gerade auch in den neuen Formwizard ein, und komme an zwei Stellen nicht weiter:
1. Wie kann ich die Meldung "The form has been sent successfully by mail" welche nach dem Absenden erscheint anpassen? Könnte ich stattdessen auch auf eine Antwortseite weiterleiten?
2. Ist es möglich, dem Absender, sofern er eine Mailadresse angegeben hat eine Bestätigungsmail zu senden, dass die Nachricht erfolgreich eingegangen ist?
Hallo Anderl,
hab für die erste Frage jetzt mal einen eigenen Postprocessor geschrieben. Die Anleitung dazu findest Du hier: http://alumnitypo3.blogspot.com/2011/12/typo3-46-und-die-neue-form-extension.html
Auf gleiche Weise kannst Du Dir dann auch nen weiteren Postprocessor schreiben, der dann die Email an den Absender schickt. Alles, was Du dafür brauchst findest Du sicher im Mail Postprocessor. Dann natürlich daran denken den Redirect Postproc. als letzten Postproc. einzufügen.
Schöne Grüße!
Jan
Hallo Janssch,
danke für Deine Tipps. Wenn man mit Extbase noch nichts zu tun hatte, finde ich den Einstieg in den neuen Formwizard schon herftig, wenn man nur ein wenig mehr hätte als ein einfaches Kontaktforumlar,...
In der Doku findet man zum Beispiel gar keine Hinweise zu den postProcessor.
Wenn ich deinen Link richtig verstanden habe, muss ich die PHP Datei im extension ordner von Form ablegen, und die Postprocessor.php um die beiden zeilen erwweitern? das ist aber nicht schön, denn wenn ich ein Update fahre, muss ich das ganze wieder anpassen. Habe ich da etwas falsch verstanden, oder geht das nicht eleganter?
Aber immerhin ich habe es jetzt zumindest schon mal soweit hinbekommen, das das Formular korrekt versendet wird.
Habe auch rausgefunden, wie man den Absendernamen in die Mail integriert.
senderNameField = name
Bei meinem Formular ist es aber jetzt so, dass ich als Name gerne Vor- und Nachname hättte, und beide stehen in getrennten Feldern.
Ist das standardmäßig auch möglich, oder brauche ich da auch schon einen eigenen Postprozessor?
Danke, Anderl
anderlk schrieb
Hallo Janssch,
danke für Deine Tipps. Wenn man mit Extbase noch nichts zu tun hatte, finde ich den Einstieg in den neuen Formwizard schon herftig, wenn man nur ein wenig mehr hätte als ein einfaches Kontaktforumlar,...
In der Doku findet man zum Beispiel gar keine Hinweise zu den postProcessor.
Wenn ich deinen Link richtig verstanden habe, muss ich die PHP Datei im extension ordner von Form ablegen, und die Postprocessor.php um die beiden zeilen erwweitern? das ist aber nicht schön, denn wenn ich ein Update fahre, muss ich das ganze wieder anpassen. Habe ich da etwas falsch verstanden, oder geht das nicht eleganter?
Aber immerhin ich habe es jetzt zumindest schon mal soweit hinbekommen, das das Formular korrekt versendet wird.
Habe auch rausgefunden, wie man den Absendernamen in die Mail integriert.
senderNameField = name
Bei meinem Formular ist es aber jetzt so, dass ich als Name gerne Vor- und Nachname hättte, und beide stehen in getrennten Feldern.
Ist das standardmäßig auch möglich, oder brauche ich da auch schon einen eigenen Postprozessor?
Danke, Anderl
Hi Anderl,
Du musst einfach die Datei im Ordner
sysext\form\Classes\System\Postprocessor
ablegen. Die 2 Zeilen sind schon aus der Forward.php brauchst, die also nirgends anzupassen. Das Typoscript sagt dem PostProcessor nach was es suchen soll. Ist aber wie im Blog geschrieben nicht wirklich optimal in dieser Lösung. Ich verstehe aber noch nicht, wie ich es anders adressieren könnte.
Zu der anderen Frage kommst Du so zu einer Antwort (wenn Try and Error zu einfach ist):
1. Die Email wird im Mail Postprocessor zusammengebaut und versandt. Also suchst Du in der Datei
Mail.php im Ordner sysext\form\Classes\System\Postprocessor nach senderNameField und findest folgende Zeile:
$fromName = $this->requestHandler->get($this->typoScript['senderNameField']);
2. Jetzt musst Du noch schauen, was die Methode get() aus dem $this->typoScript['senderNameField'] macht. In der Variable $this->typoScript['senderNameField'] steht ja erst Mal nur der Wert der Variablen, in der der Wert steht. Also suchst Du immer noch in der Mail.php nach "requestHandler" und findest ganz oben folgende Deklaration:
/**
* @var tx_form_System_Request
*/
protected $requestHandler;
Das @var tx_form_System_Request sagt Dir, dass Du im Ordner Classes\System\Request die Datei Request.php suchen musst. In dieser Datei gibt es die get() Methode. Die gibt aber nur eine Variable zurück aus Get oder Post:
return $_GET[$this->prefix][$key];
d. h. Du müsstest Dir einen eigenen Postprocessor schreiben für dein Problem.
Hallo Jansch,
super vielen Dank für Deine ausführliche Erläuterungen.
Na dann werde ich mich da wohl mal einarbeiten müssen.
Danke Anderl