Zum Inhalt springen

Probleme mit MailformPlus

Erstellt am 6. September 2007 · 5 Antworten · letzte Antwort am 26. Oktober 2007

Tags: Frage

Mohan ·

Hallo Community!

Ich habe mal die Extension th_mailformplus installiert. Irgendwie muss ich aber was vergessen haben beim installieren, jedenfalls zeigt er mir bei der mitgelieferten Demo (multipage_conditions.html) nicht die Variablen aus der multipage_conditions_lang.php an, sondern nur die Platzhalter ###LLL:surname### usw.

Die Extension wurde per Extension Manager importiert (.t3x hochgeladen) und von dort mit Standardwerten installiert. Dann habe ich eine neue Seite erstellt, das Plugin mailformplus dort eingefügt. Element bearbeitet: Überschrift gesetzt, Erweiterung amilformplus (schon vorausgewählt), in den Optionen multipage_conditions.html als Template gewählt, in den eMail-Optionen gültige Werte für Empfänger, Betreff, Absendername, Redirectseite und ein Pflichtfeld eignetragen (surname ohne "). Das ganze gespeichert.

Ich komme auch nicht wenn ich auf den Button drücke auf die nächste Seite (multipage form Funktionalität geht also auch nicht), den Rest kann ich jetzt noch nicht absehen. Aber das wird ja ziemlich sicher mit den Variablen zusammenhängen. Hätte ich mich vielleicht nicht gleich an eine so große Extension wagen sollen? 😉 Aber das TMailform war mir zu unverständlich dokumentiert...

Vielen Dank für eure Hilfe!

Gruß,
Mohan

Mohan ·

Kam gerade mal auf die Idee in die Server logs zu schauen. Kann das Problem mit diesem Error begründet werden?

PHP Warning:  mkdir() [<a href="function.mkdir">function.mkdir</a>]: Permission denied in /srv/www/webhost1/**MYURL**/typo3_src-4.0.5/t3lib/class.t3lib_div.php on line 2505, referer: http://www.**MYURL**.de/typo3/file_newfolder.php?target=%2Fsrv%2Fwww
   %2Fwebhost1%2F**MYURL**%2Fhtdocs%2Ffileadmin%2Fscripts%2F&returnUrl=http%3A%2F
   %2Fwww.**MYURL**.de%2Ftypo3%2Ffile_list.php%3Fid%3D%252Fsrv%252Fwww
   %252Fwebhost1%252F**MYURL**%252Fhtdocs%252Ffileadmin%252Fscripts%252F

(**MYURL** hab ich zur Maskierung rein, da steht schon die richtige URL dann)

Danke für jede Hilfe!
Mohan

merzilla ·

Hi Mohan,
und alle die auch noch kein multipage-Formular zum Laufen gebracht haben.

Ich selbst war nun lange auf der Suche, um mailformplus mit RealURL und einem multipage-Formular zum Laufen zu bringen. Ich habe in keinem Forum eine Lösung gefunden.
Auch ich hatte das Problem, dass der "next-step" mit JS nicht funktioniert. Nun habe ich in der Datei class.tx_thmailformplus_pi1.php in pi1 nach Zeile 730

if ($this->multipageJS) {

folgendes geändert:
In den Zeilen nach 730 werden ja die next- und back-links gesetzt mit z.B.:

<a href="#" onclick="'.$additionalJS.'set_step('.($activeStep+1).');">

Das "#" funktioniert mit RealURL nicht mehr, da er immer auf die Startseite springt.

Nun habe ich also die Zeilen:

if ($this->multipageJS) {
						
			# link for next page (start/stop)
			$tempMarkerArray['###link_nextStep_start###'] = '<a href="#" onclick="'.$additionalJS.'set_step('.($activeStep+1).');">';
			$tempMarkerArray['###link_nextStep_stop###'] = '</a>';
			$tempMarkerArray['###submit_nextStep###'] = '';

			# link for previous page (start/stop)
			$tempMarkerArray['###link_prevStep_start###'] = '<a href="#" onclick="'.$additionalJS.'set_step('.($activeStep-1).')">';
			$tempMarkerArray['###link_prevStep_stop###'] = '</a>';
			$tempMarkerArray['###submit_prevStep###'] = '';

			# link for reloading the same page/step
			$tempMarkerArray['###link_reload_start###'] = '<a href="#" onclick="'.$additionalJS.'set_step('.$activeStep.')">';
			$tempMarkerArray['###link_reload_stop###'] = '</a>';
			$tempMarkerArray['###submit_reload###'] = '';

geändert in

if ($this->multipageJS) {
			
			$request_uri = t3lib_div::getIndpEnv('REQUEST_URI').'#';
			
			# link for next page (start/stop)
			$tempMarkerArray['###link_nextStep_start###'] = '<a href="'.$request_uri.'" onclick="'.$additionalJS.'set_step('.($activeStep+1).');">';
			$tempMarkerArray['###link_nextStep_stop###'] = '</a>';
			$tempMarkerArray['###submit_nextStep###'] = '';

			# link for previous page (start/stop)
			$tempMarkerArray['###link_prevStep_start###'] = '<a href="'.$request_uri.'" onclick="'.$additionalJS.'set_step('.($activeStep-1).')">';
			$tempMarkerArray['###link_prevStep_stop###'] = '</a>';
			$tempMarkerArray['###submit_prevStep###'] = '';

			# link for reloading the same page/step
			$tempMarkerArray['###link_reload_start###'] = '<a href="'.$request_uri.'" onclick="'.$additionalJS.'set_step('.$activeStep.')">';
			$tempMarkerArray['###link_reload_stop###'] = '</a>';
			$tempMarkerArray['###submit_reload###'] = '';

Ich habe also die "REQUEST_URI" abgerufen, ein "#" angehängt und die request_uri dann als Ziel eingetragen (Zeilen 3,6,11 und 16).
Bei mir funktioniert das dann mit vor und zurück (JavaScript).

Ich hoffe, dies hilft euch etwas weiter.
Ich bin nun nach 2 Tagen Suche soeben darauf gekommen und möchte euch dies ersparen.
Falls ich etwas nicht bedacht habe, sorry. Ich werde diesen Thread auch mal an den Extension-Entwickler mailen, vielleicht wird er dies dann in einer weiteren Version fixen.

Mein System: TYPO3 4.1.1, RealURL 1.1.0, mailformplus 4.0.3

Viele Grüße
merzilla

Mohan ·

Dank dir für die Antwort. Meine Lösung sieht so aus, dass ich jetzt wahrscheinlich pbsurvey verwende. Dort wird angeblich auch an einer noch nicht vorhandenen Mail-Funktion gebastelt, die brauche ich aber eh erst in der Zukunft.

Danke dass du dir drüber Gedanken gemacht hast! Btw. ich hatte eigentlich nicht die JS-Variante ausgewählt, sondern die serverseitige. Bin mir aber nicht mehr sicher.

Gruß,
Mohan

merzilla ·

Bitte, gern geschehen!
Ich brauchte die Lösung noch diese Woche, und hab sie zum Glück. #giggle#
Aus deinem Posting heraus hab ich nicht genau erkannt, welche Lösung (JS oder PHP) du verwendet hast.
Immerhin gibt´s nun ne JS Lösung.
Die serverseitige Geschichte hab ich noch nicht ausprobiert. Kommt bei Gelegenheit auch mal dran, da ich auch nicht von einem überall aktivierten JS ausgehe.

Dann viel Erfolg mit pbsurvey!

Grüße
merzilla

catwiesel ·

Hallo,

erst mal danke für die gute Lösung.
Hab grad im Quelltext das für die PHP Version gefunden, welche ja auskommentiert ist in der HTML Vorlage.
Diese Version wäre aber für meinen Fall besser, das auf anhieb das Design der Buttons gleich ist.

Es hndelt sich doch um diesen Code, wenn ich mich nicht täusche:

			# submit name for next page
			$tempMarkerArray['###submit_nextStep###'] = ' name="th_mailformplus-mp_step-'.($activeStep+1).'"';
			$tempMarkerArray['###link_nextStep_start###'] = '';
			$tempMarkerArray['###link_nextStep_stop###'] = '';

			# submit name for previous page
			$tempMarkerArray['###submit_prevStep###'] = ' name="th_mailformplus-mp_step-'.($activeStep-1).'"';
			$tempMarkerArray['###link_prevStep_start###'] = '';
			$tempMarkerArray['###link_prevStep_stop###'] = '';

			# submit name for reloading the same page/step
			$tempMarkerArray['###submit_reload###'] = ' name="th_mailformplus-mp_step-'.($activeStep).'"';
			$tempMarkerArray['###link_reload_start###'] = '';
			$tempMarkerArray['###link_reload_stop###'] = '';
			$jsFunctions = '';

Dieser ist bei etwa Zeile 780 zu finden.
Da ich jedoch im programmieren eine Niete bin, komm ich jetzt nicht drauf, was hier geändert werden müsste, damit die auch funktioniert.

Kann hier evtl. einer weiterhelfen?