Zum Inhalt springen

sr_feuser_register & AGB-Checkbox

Erstellt am 29. April 2008 · 10 Antworten · letzte Antwort am 2. April 2009

Tags: Frontend-Benutzer, Frage

Dr.​ No ·

Hallo,

ich hab mal einen neuen Thread angefangen, da er noch nicht gelöst ist.

Also:Meine Checkbox für AGBs hat immer wunderbar funktioniert - nur jetzt mit Typo3 4.1.6 und sr_feuser_register 2.5.9 nicht mehr.
Es scheint so, als würde die Regel

   plugin.tx_srfeuserregister_pi1.create.evalValues.meine_extension_agb=atLeast[1]

ignoriert werden....
Jemand eine Idee???
Danke
Norman

ThBodi ·

#399722

Die "AGB-Lösung" aus vorgenanntem Thread hat bei mir unter Deiner Konfiguration (Typo3 4.1.6 / sr_feuser_register 2.5.9) auch nicht funktioniert. Ich habe mich jetzt für eine "Quick&Dirty"-Lösung entschieden:

model/class.tx_srfeuserregister_data.php, Zeile 624:

case 'setEmptyIfAbsent':
	if (!isset($dataValue) || $dataValue == 0) {
		$dataValue = '';
	}

Eine nicht aktivierte Checkbox aus dem Registrierungsformular übergibt "0", somit wirft die "Evaluation" mit atLeast[1] keinen Fehler. Mit obiger Code-Ergänzung wird die "0" zu "" und die Evaluation greift, wie gewünscht.

Dr.​ No ·

Hi,

vielen Dank schon mal für Deine Antwort. Die Codezeilen habe angepasst und auch die verschiedenen übergebenen Werte geprüft.
Wenn die Checkbox nicht angehakt ist wird auch definitiv nichts übergeben (also "").

Dennoch greift meine atLeast[1] Bedingung nicht.... Warum nur???
Gruß
Norman

ThBodi ·

Ich bin jetzt zufällig auf eine bessere Lösung gestoßen:

plugin.tx_srfeuserregister_pi1{
  create.evalValues.agb_sz = required
  parseValues.agb_sz = int
}

Hier wirft sowohl 0 als auch ein leerer String einen Fehler aus.

Dein Fehler resultiert vielleicht aus der Tatsache, das evalValues abhängig vom command genutzt wird, während parseValues für alle commands einheitlich konfiguriert wird (siehe TS oben).

Dr.​ No ·

Vielen Dank ThBodi !!! 🙂 🙂

Bei der Gelegenheit mach ich mal einen neuen Thread auf - hab nämlich gleich das nächste Problem ... #angry#

kerim80 ·

Hallo Dr. No und ThBody,

so sieht mein TS aus:

plugin.tx_srfeuserregister_pi1 {
...
	create.evalValues.tx_feuseraddonfields_data_protection_accepted = required
	parseValues.tx_feuseraddonfields_data_protection_accepted = int
...
        formFields = ...,tx_feuseraddonfields_data_protection_accepted
        requiredFields = ...,tx_feuseraddonfields_data_protection_accepted
}

und so mein Template:

<!-- ###SUB_INCLUDED_FIELD_tx_feuseraddonfields_data_protection_accepted### -->
<dt>
<label for="tx-srfeuserregister-pi1-tx_feuseraddonfields_data_protection_accepted">###LABEL_TX_FEUSERADDONFIELDS_DATA_PROTECTION_ACCEPTED### ###REQUIRED_TX_FEUSERADDONFIELDS_DATA_PROTECTION_ACCEPTED###</label>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_tx_feuseraddonfields_data_protection_accepted### -->
<p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_TX_FEUSERADDONFIELDS_DATA_PROTECTION_ACCEPTED###</p>
<!-- ###SUB_ERROR_FIELD_tx_feuseraddonfields_data_protection_accepted### -->
<!-- ###SUB_REQUIRED_FIELD_tx_feuseraddonfields_data_protection_accepted### -->
<p class="tx-srfeuserregister-pi1-error">###MISSING_TX_FEUSERADDONFIELDS_DATA_PROTECTION_ACCEPTED###</p>
<!-- ###SUB_REQUIRED_FIELD_tx_feuseraddonfields_data_protection_accepted### -->
###TCA_INPUT_tx_feuseraddonfields_data_protection_accepted### ###LABEL_TX_FEUSERADDONFIELDS_DATA_PROTECTION_ACCEPTED_TEXT###
</dd>
<!-- ###SUB_INCLUDED_FIELD_tx_feuseraddonfields_data_protection_accepted### -->

und in der Datei model/class.tx_srfeuserregister_data.php habe ich auch die Abfrage wie bei euch geändert:

    case 'setEmptyIfAbsent':
    // Alt: if (!isset($dataValue)) {
    if (!isset($dataValue) || $dataValue == 0) {
       $dataValue = '';
    }

Leider funktioniert das trotzdem nicht bei mir 🙁
WARUM???

Dr.​ No ·

Hi,

nimm mal die Checkbox bei

requiredFields = ...,tx_feuseraddonfields_data_protection_accepted

raus. Das ist doppelt gemoppelt.
Gruß
Norman

kerim80 ·

Hi Norman,

wenn ich das rausnehme hilft es nichts 🙁

Bin am verzweifeln.
Ich weis nicht mehr weiter.

Dr.​ No ·

Hi,

mir ist noch was aufgefallen:

Das hier kommt beim Typoscript ins Setup:

plugin.tx_srfeuserregister_pi1 {
        create.evalValues.tx_feuseraddonfields_data_protection_accepted = required
        parseValues.tx_feuseraddonfields_data_protection_accepted = int
}

Und das hier kommt in die Constants:

plugin.tx_srfeuserregister_pi1 {
        formFields = ...,tx_feuseraddonfields_data_protection_accepted
        requiredFields = ...,tx_feuseraddonfields_data_protection_accepted
}

Gruß
Norman

landys ·
Dr. No schrieb

Hi,

mir ist noch was aufgefallen:

Das hier kommt beim Typoscript ins Setup:

plugin.tx_srfeuserregister_pi1 {
        create.evalValues.tx_feuseraddonfields_data_protection_accepted = required
        parseValues.tx_feuseraddonfields_data_protection_accepted = int
}

Und das hier kommt in die Constants:

plugin.tx_srfeuserregister_pi1 {
        formFields = ...,tx_feuseraddonfields_data_protection_accepted
        requiredFields = ...,tx_feuseraddonfields_data_protection_accepted
}

Gruß
Norman

Hallo,

vielen vielen Dank Norman.
Habe ewig nach der Lösung gesucht.

Gruß Andreas