Zum Inhalt springen

ve_guestbook: Marker ###FORM_ERROR### wird immer angezeigt

Erstellt am 7. September 2007 · 1 Antwort · letzte Antwort am 19. September 2007

Tags: Frage

ulinn ·

Hallo allerseits!

Ich nutze seit einiger Zeit ve_guestbook. Nach einem Update auf die aktuelle Version und Einbindung der Captcha-Funktionalität (freecap) wird nun beim ersten Aufruf des Eingebformulars bereits der Fehlertext "Bitte vergessen Sie nicht folgende Felder zu befüllen:" angezeigt, obwohl der ja eigentlich nur Sinn macht, wenn das Formular mit fehlenden Angaben abgeschickt wurde.

Der "###TEMPLATE_FORM###" Teil im Template wurde unverändert aus dem Original-Template übernommen - daran dürfte es also nicht liegen.

Kennt jemand eine Lösung für das Problem?

Uli

rockdog ·

Hallo Uli,

hatte grad gestern das gleiche Problem.
Das die Nachricht angezeigt wird, liegt daran, dass in der Extension beim Aufruf des Formulars alle Marker mit den entsprechenden Texten initialisiert werden.

Nur sollte ja eben die Fehlermeldung bzw. der Hinweis beim ersten Aufruf noch nicht erscheinen.

Meine bisherige Lösung: Ich habe in der Datei class.tx_veguestbook_pi1.php die Methode Methode initFormMarkerArray() um eine Zeile (hier im Code Zeile 10) ergänzt, die den Marker wieder leert.

function initFormMarkerArray() {
		$markerArray = array();
		if (is_array($this->LOCAL_LANG[$this->LLkey])) {
			foreach ($this->LOCAL_LANG[$this->LLkey] as $key => $value) {
				if (strpos($key, 'form_') === 0) {
					$markerArray['###'.strtoupper($key).'###'] = $value;
				}
			}
		}
		$markerArray['###FORM_ERROR###'] = "";
		return $markerArray;
	}

Das ist zwar keine perfekte Lösung, aber vorerst funktioniert es.

Gruß,
Sven