[TYPO3-german] skalierte Bilder per FE-Plugin ausliefern
Rainer Schleevoigt
rainer at webmasterei-hamburg.de
Fri Jul 31 18:56:05 CEST 2009
bernd wilke schrieb:
Hallo Bernd,
ich denke mal, ich brauche kein Plugin, sondern einfach nur TS. In
meiner Anwendung brauche ich eben einfach nur skalierte Bilder außerhalb
eines HTML-Seitenkontextes, nämlich als Bilder in einer Flash-Slideshow.
Die Bilder hätten da die Adresse
index.php?id=23&type=20&fn=DSCG1234.jpg&width=600
Im Prinzip müsste man nur IMG_RESOURCE aufrufen und mit de
GET-Parametern das TS füttern.
Ich suche schon eine Weile im Netz, finde aber kein Tipp.
Rainer
> Am Fri, 31 Jul 2009 14:35:29 +0200 schrieb Rainer Schleevoigt:
>
>
>> bernd wilke schrieb:
>>
>>> Am Thu, 30 Jul 2009 09:42:49 +0200 schrieb Rainer Schleevoigt:
>>>
>>>
>>>
>> Hallo Bernd,
>>
>> nun denke ich mal, ich begleite das Plugin in TS etwa so:
>>
>> ==== schnipp =======
>> plugin.ras_geoblog_pi1 = USER
>> plugin.ras_geoblog_pi1 {
>> userFunc = ras_geoblog_pi1->main
>> maxwith = 600
>> }
>> img = PAGE
>> img {
>> config {
>> disableAllHeaderCode = 1
>> additionalHeaders = Content-type:image/jpg
>> }
>> typeNum = 21
>> 10 < plugin.ras_geoblog_pi1
>> }
>> =====schnapp ======
>>
>> Das Plugin müsste also aus der conf die Größe (600) rausziehen und den
>> Bildpfad aus einem GET-Parameter.
>> Dein Script ist schon mal eine gute Vorlage:
>>
>> function main($content, $conf) {
>> $this->conf = $conf;
>> $imgpath='uploads/tx_rasgeoblog/';
>> $ts['img']='IMAGE'; // müste das nicht IMG_RESOURCE sein?
>>
>
> das ist hier eigentlich irrelevant, da der eigentliche Typ durch den
> Funktionsaufruf bestimmt wird.
>
>
>> $ts['img.']['file'] = $imgpath . $this->cObj->data['image'];
>> //kommt bei mir aus GET ?
>> $ts['img.']['format']='jpg';
>> if ($this->cObj->data['imagewidth']) { // Abfrage verstehe ich
>> nicht.
>>
>
> ich hole die Angaben aus dem aktuellen ContentElement ($this->cObj-
>
>> data). Wenn dort keine Größe gesetzt ist es ziemlich sinnlos einfach
>>
> blind den Wert des Feldes, der dann nämlich als 0 interpretiert wird als
> Breite zu nehmen.
>
>
>> $ts['img.']['file.']['maxW']= $this->conf['maxwidth'];
>> }
>> $img=$this->cObj->IMG_RESSOURCE($ts['img.']);
>> /// wie wird das Ding eiegntluch ausgeliefert? Ein Bytestrom?
>>
>
> IMAGE liefert ein fertiges a-Tag inkl. Pfad auf generiertes Bild
> IMG_RESSOURCE liefert nur den Pfad auf das generierte Bild
> (siehe TSREF)
>
>
>> // sowas wie return (file_get_contents($img)); ??
>>
>>
>> }
>>
>
> das ganze ist nur ein Teil eines Plugins und der Rückgabewert wird
> entsprechend nur als Teilergebnis benutzt um es weiter zum Rückgabewert
> des Plugins zu verarbeiten, zb. als Markerersetzung, oder einfach als
> Teil des vom Plugin erzeugten HTML.
>
> Deine Art der Anwendung mit eigenem Seitentyp für Bilder erscheint mir
> sehr kompliziert, aber vielleicht seh ich nur nicht deinen Anwendungsfall.
> Zumindest muss du dann wohl das Bild als Bytestrom zurückgeben. Also
> Datei öffnen, deren Namen du in $img bekommen hast und ausgeben.
>
> bernd
>
More information about the TYPO3-german
mailing list