hi enobe,
erstmal vielen Dank für den Feedback und entschuldige die späte Antwort.
Aufgrund deiner Inspiration habe ich folgendes genauer angeschaut:
../ext/sr_feuser_register/view/class.tx_srfeuserregister_display.php (v2.5.24)
Line: 89 für 'editForm' oder 172 für 'createScreen'
Line 89 (für Create):
$failure = t3lib_div::_GP('noWarnings') ? '': $this->controlData->getFailure();
if (!$failure) {
$templateCode = $this->cObj->substituteSubpart($templateCode, '###SUB_REQUIRED_FIELDS_WARNING###', '');
}
Line 172 (für Edit):
$failure = t3lib_div::_GP('noWarnings') ? FALSE: $this->controlData->getFailure();
if ($failure == FALSE) {
$templateCode = $this->cObj->substituteSubpart($templateCode, '###SUB_REQUIRED_FIELDS_WARNING###', '');
}
Fazit:
Wie Du schon festgestellt hast, liefert beim CREATE die $this->controlData->getFailure(); schon einen "submit" (OBWOHL NICHT ABGESCHICKT und warum auch immer!) und geht somit nicht in den nachfolgenden IF-Zweig um den entsprechenden Marker zu löschen.
Des Weiteren wenn man sich das genauer anschaut, dann müsste man die CREATE-Seite mit dem QUERY ...?..&noWarnings=1 aufrufen, damit der Marker gelöscht werden würde. Nur wollte ich das für mich nicht!
Ich habe nun auf die schnelle ("Quick&Dirty") eine Lösung für mich hingebastelt.
Ich habe in das Template bei CREATE und EDIT (tx_srfeuserregister_pi1_css_tmpl.html) ein zusätzliches HIDDEN-FIELD definiert.
<input type="hidden" name="tdsent" value="1" />
und nun die entsprechenden Zeilen in
../ext/sr_feuser_register/view/class.tx_srfeuserregister_display.php (v2.5.24)
Line: 89 für 'editForm' oder 172 für 'createScreen' angepasst.
Line 89 (für Create):
$tdsent = (int)t3lib_div::_GP('tdsent');
$failure = (!$tdsent or t3lib_div::_GP('noWarnings')) ? FALSE: $this->controlData->getFailure();
if ($failure === FALSE) {
$templateCode = $this->cObj->substituteSubpart($templateCode, '###SUB_REQUIRED_FIELDS_WARNING###', '');
}
Line 172 (für Edit):
$tdsent = (int)t3lib_div::_GP('tdsent');
$failure = (!$tdsent or t3lib_div::_GP('noWarnings')) ? FALSE: $this->controlData->getFailure();
if ($failure === FALSE) {
$templateCode = $this->cObj->substituteSubpart($templateCode, '###SUB_REQUIRED_FIELDS_WARNING###', '');
}
In Zeile 89 und 172 erzeuge ich beim Erstaufruf der Formulare CREATE und EDIT durch !$tdsent (mein HIDDEN-Field) ein FALSE wodurch der IF-Zweig ausgeführt und somit die Meldung gelöscht wird.
Und siehe da es funktioniert einwandfrei.
Also nochmal vielen Dank, dass Du mich auf die richtige Spur gebracht hast.
LG
da.max
P.S: Jetzt stellt sich nur die Frage wie kriegt man eine Korrektur der Original-Extension hin? An den Entwickler schreiben? Bug-Tracker?
Gibt's hier ein Standard-Vorgehen?