Hi David,

naja, eigentlich will ich ja nicht unterscheiden müssen im PHP Code!

Ich habe in der Extension z.B. ein Feld wo der Dateiname gespeichert ist. Jetzt möchte ich die Extension über Typoscript so konfigurieren können, dass man entweder ein IMG_RESOURCE gerendert bekommt (falls man später anstelle der Bildausgabe gerne nur den Dateinamen hätte) oder eben ein IMAGE für das fertige Bild, oder ggf. auch ein TEXT, wenn man irgendwas anderes mit dem Dateinamen anstellen will!

Ist das ungewöhnlich bzw. macht man sowas nicht?

Ich dachte gerade, es funktioniert, allerdings wenn ich die Zeile:

$this->conf["detailView."]["img."]["file"]="uploads/tx_ext/".$record['image'];

...im PHP weglasse, und dafür im Typoscript...

     img = IMAGE
     img{
       file = uploads/tx_ext
       file.import.field = image
       file.import.stdWrap.listNum = 0
       file.width = 100
       imageLinkWrap = 1
       imageLinkWrap.enable = 1
       imageLinkWrap.JSwindow = 1
       imageLinkWrap.width = 300
     }

...verwende, dann klappts irgendwie doch nicht! Woran kann das liegen?



"David Bruchmann" <da...@bruchmann-web.de> schrieb im Newsbeitrag news:mailman.32311.1280357899.610.typo3-ger...@lists.typo3.org...


----- Ursprüngliche Nachricht -----
Von:        ND <ar...@gmx.com>
Gesendet:   Donnerstag, 29. Juli 2010 00:21:38
An:         typo3-german@lists.typo3.org
CC:
Betreff: Re: [TYPO3-german] Extension: IMAGE und IMG_RESOURCE // Typoscript Konfiguration


... Jetzt will ich aber über Typoscript dem "detailView.img" flexibel
entweder IMAGE oder IMG_RESOURCE zuweisen. Nur wie kann ich das dann
im PHP dynamisch verwerten bzw. rendern, dass das jeweils richtige
Objekt erzeugt wird?



Hi,

der notwendige Parameter [IMG | IMG_RESOURCE ] wird doch mit $this->conf["detailView."]["img"] übergeben.

In PHP kannst Du dann folgendermaßen unterscheiden:

switch ($this->conf['detailView.']['img']) {
case 'IMG':
[FUNKTIONELLER PART];
break;
case 'IMG_RESOURCE':
[FUNKTIONELLER PART];
break;
default:
echo 'ungültiges TypoScript';
break;
}


oder so:

if ($this->conf['detailView.']['img'] == 'IMG') {
[FUNKTIONELLER PART]
}
elseif ($this->conf['detailView.']['img'] == 'IMG_RESOURCE') {
[FUNKTIONELLER PART]
}
else {
echo 'ungültiges TypoScript';
}

oder anders, die Möglichkeiten sind ja vielfältig.
Statt "echo 'ungültiges TypoScript';" ist es evtl. besser den Fehler in eine Log-Datei zu schreiben aber eine direkte Ausgabe vereinfacht die TypoScript-Entwicklung, evtl. ist es unter diesem Aspekt besser, die Fehlerausgabe statt des Bildes über die $content-Variable auszugeben und nicht direkt mit 'echo', denn erscheint sie auch an der entsprechenden Stelle auf der Seite.

Insgesamt ist Dein Unterfangen zwar interessant, aber ohne näheren Hintergrund erst mal etwas fragwürdig, vielleicht kannst Du noch beschreiben, weshalb Du die Funktion so variabel halten willst und Dich nicht auf eine Möglichkeit festlegst.

Gruß,
David

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

Antwort per Email an