TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

userFunc in Conditions


Autor Nachricht
Verfasst am: 05. 02. 2010 [15:03]
spectator
Themenersteller
Dabei seit: 23.10.2009
Beiträge: 9
Also ich habe Folgendes vor und zwar entwickel ich gerade eine Extension womit ich diverse informationen über ein mobiles endgerät abfragen kann und diese dann verarbeiten kann. Soweit alles kein problem z.b.

TYPOSCRIPT
[userFunc = user_is_wireless()]
#hier mobile code rein....
[end]


Funktioniert ohne probleme. Allerdings bei sowas zum beispiel

TYPOSCRIPT
[userFunc =  user_get_capability(resolution_width) = 320]
page.1 = IMAGE
page.1.file=GIFBUILDER
page.1.file{
  format=png
  XY=320 , 50
  backColor=#5000af
}
[end]
gibt es probleme Irgendwie funktioniert die Condition nicht den die Funktion gibt definitiv 320 zurück Also gehe ich mal davon aus das ich nur Bool werte nutzen kann.

Gibt es den irgendwie eine möglichkeit folgedes umzusetzen ?

TYPOSCRIPT
[userFunc = user_is_wireless()]
page.1 = IMAGE
page.1.file=GIFBUILDER
page.1.file{
  format=png
  XY=(Hier der Funktions aufruf) , 50
  backColor=#5000af
}
[end]

Grundsätzlich würde ich dann hier nur noch abfragen ob es sich um ein mobiles endgerät handelt und dann die breite des bildes z.b. durch eine funktion abfrage.
Profil
Verfasst am: 05. 02. 2010 [16:16]
GoSnA
Dabei seit: 18.01.2010
Beiträge: 28
Also ich habs nicht getestet, aber einige vermutungen von mir:

1. die Condition [userfunc ...] ist nur Wahr oder Falsch zu setzen.

Probiere mal folgende dinge:

TYPOSCRIPT
temp.XY = USER
temp.XY.userFunc = tx_erweiterung_pi1->getSize
 
page.1 = IMAGE
page.1.file = GIFBUILDER
page.1.file {
  format=png
  XY < temp.XY
  backColor=#5000af
}


getSize sollte dann 'X,Y' zurück geben...

Ansonsten vielleicht einfach nur

TYPOSCRIPT
page.1 = USER
page.1.userFunc = tx_erweiterung_pi1->getImage


und dann in der funktion getImage den GIFBUILDER benutzen und als Bild zurück geben lassen

PHP
$imageCFG = array(
 'file' => 'GIFBUILDER',
 'file.' => array (
   'format' => 'png',
   'XY' => $this->X.','.$this->Y,
   'backcolor' => '#5000af',
 ),
);
 
return $this->cObj->IMAGE($imageCFG);


so in etwa mal grob auf die schnelle...
Profil
Verfasst am: 05. 02. 2010 [19:04]
spectator
Themenersteller
Dabei seit: 23.10.2009
Beiträge: 9
okay habe jetzt ein wenig rum probiert und habe eine lösung gefunde erstmal danke an GoSnA für die ideen sie haben mir geholfen die lösung zu finden:

TYPOSCRIPT
page.2 = COA_INT
page.2.2 = USER
page.2.2.userFunc = tx_wurfl3_pi1->getImage
page.2.2.format=png
page.2.2.backColor=#f000af
page.2.2.height=500


PHP
function getImage($content, $conf){
		$conf['XY'] = getdisplaywidth().', '.$conf['height'];
		$imageCFG = array(
		 'file' => 'GIFBUILDER',
		 'file.' => $conf
		);
		return $this->cObj->IMAGE($imageCFG);


Ob das so sauber ist weiss ich nicht aber bis jetzt Funktioniert es icon_wink.gif

was ich noch überlegt habe ist die logik in der function aus zu nutzen also quasi 3 parameter der funktion mit gebe einmal die frage nach der capability also zum beispiel display breite, höhe etc. ein operator als string und ein vergleichs wert und dann in der funktion die abfrage baue und dann true oder fals zurück gebe das sollte eigentlich ja auch gehen.

Wenn es klappt sage ich bescheid
grüße Spectator
Profil