[TYPO3-german] Verständnisfrage userFunc und Condition

Johannes C. Schulz - EnzephaloN IT-Solutions info at enzephalon.de
Mon Aug 29 12:21:47 CEST 2011


Hallo zusammen!

Nach dem Wochenende, einigem Nachdenken und Umstellen bin ich leider immer
noch nicht weiter.

Die Funktion wird nun in der localconf.php via include der Datei noform.php
eingebunden.
Die abgefragte Variable
$GLOBALS['tx_enzteaserlist']['formhandler']['ticket'] bekommt von meiner
Extension entweder einen Wert oder existiert nicht (unset).
Im TS habe ich die Condition mal außerhalb eines plugin-Tags gebaut:

plugin.Tx_Formhandler.settings.predef.default.cssFile.1 =
fileadmin/Weimar/ext/formhandler/styles.css
[userFunc = user_noform()]
plugin.Tx_Formhandler.settings.predef.default.cssFile.1 >
plugin.Tx_Formhandler.settings.predef.default.cssFile.1 =
fileadmin/Weimar/ext/formhandler/styles_hidden.css
[global]

Testweise habe ich in user_noform() mal die Rückgabewerte TRUE und FALSE
vertauscht, was wiederrum zum gewünschten Ausblenden führte. 
Ergo funktioniert das TS und auch der include, doch irgendwie scheint meine
Funktion nicht richtig zu arbeiten...

Also dorthin gewand:
Extension mit extbase/fluid geschrieben.
Im "Single"-Controller steht zusätzlich:

unset($GLOBALS['tx_enzteaserlist']['formhandler']['ticket']);
$GLOBALS['tx_enzteaserlist']['formhandler']['uid'] = $teaseritem->getUid();
if( $teaseritem->getLinkbooking() ){
      $GLOBALS['tx_enzteaserlist']['formhandler']['ticket'] =
$teaseritem->getLinkbooking();
}

Die UID wird korrekt übertragen (lese sie auch mit Formhandler aus).
Ein print_r des $GLOBALS['tx_enzteaserlist']['formhandler']['ticket']
liefert auch das richtige Ergebnis.

Was ist also an der noform.php falsch?

function user_noform(){
    //Wenn ein Ticket/Buchungs-Link hinterlegt ist, dann wahr
    if( !empty( $GLOBALS['tx_enzteaserlist']['formhandler']['ticket'] ) ){
      return true;
    }
    else{
      return false;
    }
}

Viele Grüße
Johannes



-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org
[mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Stefan Frömken
Gesendet: Donnerstag, 25. August 2011 14:40
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] Verständnisfrage userFunc und Condition

Grad getestet. Der Code muss in die localconf.php!!! Angaben im TS mit
includeLibs bringt nix.

Am 25.08.2011 14:20, schrieb Stefan Frömken:
> - Die Funktion darf nicht in einer Klasse sitzen
>
> - Die Funktion soll nach Angaben der Doku IN die localconf.php 
> geschrieben werden. Ich hab's nicht getestet...aber ich glaub ein 
> "Anmelden" der Datei in TS sollte auch genügen.
>
> - Hast Du die Datei im TS per includeLibs.[array] definiert?
>
> Stefan
>
> Am 25.08.2011 13:35, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>> Hallo Stefan
>>
>> Danke für den Verweis - so habe ich nun getan und leider wird 
>> trotzdem nur der true-Fall ausgelöst. Testweise habe ich alle returns 
>> meiner Funktion auf false gesetzt, funktionierte aber trotzdem 
>> nicht...
>>
>> Das TS:
>> [userFunc = user_getEnzteaserlistForm] cssFile.1>
>> cssFile.1 = fileadmin/Weimar/ext/formhandler/styles_hidden.css
>> [userFunc]
>>
>> Das PHP:
>> public function user_getEnzteaserlistForm(){ 
>> if(strlen($GLOBALS['tx_enzteaserlist']['formhandler']['ticket'])> 1){ 
>> return true; } else{ return false; } }
>>
>> Noch ne Idee woran's hapern könnte?
>>
>> Grüße
>> Johannes
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org
>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Stefan 
>> Frömken
>> Gesendet: Donnerstag, 25. August 2011 13:21
>> An: typo3-german at lists.typo3.org
>> Betreff: Re: [TYPO3-german] Verständnisfrage userFunc und Condition
>>
>> Bitte so machen, wie hier ganz unten beschrieben:
>> http://typo3.org/documentation/document-library/core-documentation/do
>> c_core_
>>
>> tsref/4.5.0/view/1/4/#id2315245
>>
>> Am 25.08.2011 13:02, schrieb Johannes C. Schulz - EnzephaloN
>> IT-Solutions:
>>> Hallo typo3-Gemeinde
>>>
>>>
>>>
>>> Ich versuche gerade über das Ergebnis einer userFunc eine Condition 
>>> zu machen. Derzeit wird sie aber immer als wahr bearbeitet:
>>>
>>>
>>>
>>> mnoform.userFunc = enzteaserlist->getEnzteaserlistForm
>>>
>>>
>>>
>>> die Funktion gibt wahr zurück, wenn ein Wert den sie abfragt größer 
>>> 1 ist.
>>>
>>>
>>>
>>> Und nun die Condition:
>>>
>>>
>>>
>>> [mnofrom.value = true]
>>>
>>> cssFile.1>
>>>
>>> cssFile.1 = fileadmin/Weimar/ext/formhandler/styles_hidden.css
>>>
>>> [end]
>>>
>>>
>>>
>>> Es soll also ein alternatives CSS geladen werden, wenn die Funktion 
>>> wahr ist. Doch derzeit wird das CSS immer geladen.
>>>
>>>
>>>
>>> Würde mich freuen, wenn mir jemand hier weiterhelfen könnte!
>>>
>>>
>>>
>>> Grüße
>>>
>>> Johannes
>>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>

_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german




More information about the TYPO3-german mailing list