[TYPO3-german] ext_tables.php um eigene eval-Funktion erweitern

Sigrid Gramlinger sigrid at gramlinger.net
Thu Jan 15 21:40:10 CET 2009


Im php-Code meinst du? (sorry, falls ich blöd frage, aber das ist mein 
erstes Typo3-Projekt) Hm, ich dachte, wenn es irgendwie geht, soll man 
vermeiden in bestehenden Ext. was zu ändern, darum wollte ich es mit 
einer eigenen versuchen.

Du meinst ich soll die evalFunction um eine eigene Abfrage erweitern?
Ich habe es so versucht, aber folgendes hat nicht funktioniert:
class.tx_srfeuserregister_data.php erweitert um eine eigene 
case-Abfrage: (--> //sgm)
...................
case 'required':
	if (!trim($dataArray[$theField])) {
		$failureArr[] = $theField;
		$this->inError[$theField] = TRUE;
		$this->failureMsg[$theField][] = $this->getFailureText($theField, 
$theCmd, 'evalErrors_required');
	}
break;
case 'atLeast':
	$chars = intval($cmdParts[1]);
	if (strlen($dataArray[$theField]) < $chars) {
		$failureArr[] = $theField;
		$this->inError[$theField] = TRUE;
		$this->failureMsg[$theField][] = 
sprintf($this->getFailureText($theField, $theCmd, 
'evalErrors_atleast_characters'), $chars);
	}
break;
//sgm
case 'bwppass':
	$bwppassword = 'testKW';
	if ($dataArray[$theField] != $bwppassword) {
		$failureArr[] = $theField;
		$this->inError[$theField] = TRUE;
		$this->failureMsg[$theField][] = $this->getFailureText($theField, 
$theCmd, 'evalErrors_bwppass');
	}
break;							
......................

meine evalFunction "bwppass" hätte ich dann in der ext_tables.php 
eingetragen. und den "evalErrors_bwppass" im TSSetup mit einer 
Fehlermeldung angegeben.
aber das hat nicht funkioniert.

Meinst Du soetwas, in dieser Art?
Danke,
Sigrid


Widmann, Manfred schrieb:
> Naive Frage: Warum erweiterst/veränderst du nicht einfach das Plugin der 
> eingebundenen Extension?
> Manfred
> 
> "Sigrid Gramlinger" <sigrid at gramlinger.net> schrieb im Newsbeitrag 
> news:mailman.1.1231925580.5838.typo3-german at lists.netfielders.de...
>> Hallo,
>>
>> ich habe folgendes Ziel:
>> Bei der feuser-Registrierung (Die Ext. habe ich erfolgreich installiert 
>> und um eigene Felder erweitert) soll ein Registrierungskennwort abgefragt 
>> werden. Dieses erhalten nur Mitglieder der Organisation, somit soll 
>> verhindert werden, dass sich jeder x-beliebige Internetuser anmelden kann.
>>
>> ok, ich habe ein neues Feld in die Tabelle fe_user eingefügt (mit eigener 
>> Extension und dem Kickstarter) nach dieser Anleitung:
>> http://typo3-blog.net/blog/eval-funktion-tca-array.html
>>
>> codeschnipsel aus ext_tables.php:
>> --------------------------------------
>> "tx_bwp1_pass_register" => Array ( "exclude" => 1, "label" => 
>> "LLL:EXT:bwp1/locallang_db.xml:fe_users.tx_bwp1_pass_register", "config" 
>> => Array (
>> "type" => "input", "size" => "30", "max" => "15", "eval" => 
>> "required,tx_bwp1_mapping",
>> )
>> ),
>> ---------------------------------------
>>
>> habe eine eigene class eingefügt
>> datei class.tx_bwp1_mapping.php mit folgendem inhalt:
>> ----------------------------------------
>> <?php
>> class tx_bwp1_mapping {
>> function returnFieldJS() {
>> return '
>> return value + " [added by JS]";
>> ';
>> }
>> function evaluateFieldValue($value, $is_in, &$set) {
>> return $value.' [added by PHP]';
>> }
>> }
>>
>> if (defined('TYPO3_MODE') && 
>> $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/bwp1/class.tx_bwp1_mapping.php']) 
>> {
>> include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/bwp1/class.tx_bwp1_mapping.php']);
>> }
>> ?>
>> ----------------------------------------
>>
>> class ist auch in ext_localconf.php eingebunden
>>
>>
>> so, das Ganze funktioniert, aber nur im BE. Das bringt mir natürlich 
>> herzlich wenig. Was muss ich tun, damit das auch im FE funktioniert?
>>
>> Oder soll ich das Thema komplett anders angehen?
>> Danke für Tipps!!!
>>
>> Sigrid 
> 
> 



More information about the TYPO3-german mailing list