[TYPO3-german] In cObject IMAGE (Typoscript) Felder aus DB auslesen

JoH asenau info at cybercraft.de
Wed Jun 13 01:18:48 CEST 2007


>>> Wie man sieht lese ich das Feld "file_name" aus der aktuellen Zeile
>>>    aus. Ich würde gerne aber auch das Feld "file_path" dynamisch
>>> einsetzen, dummerweise gelingt mir das aber nicht. Setze ich die
>>> Funktionen von stdwrap falsch ein?
>>>
>>> Hat jemand einen Tip für mich?
>>
>> Sieht nach einem Fall für dataWrap aus:
>>
>> file.import = fileadmin/downloads/pdf/
>> file.import {
>>     field = file_name
>>     listNum = 0
>>     dataWrap = {field:file_path}|
>>     ### ggf. auch {field:file_path}/|
>> ...
>
> Danke für Deine Antwort, ist aber leider auch nicht der Bringer. Ich
> habe das ganze mit einem Textfeld probiert, da geht es
> merkwürdigerweise:
>
> 12 = TEXT
>          12 {
>            value = {field : file_path}{field : file_name}
>            insertData = 1
>            wrap = | <br />
>          }
>
> => Dieses cObject gibt mir das gewünschte Ergebnis aus, also z.B.:
> fileadmin/downloads/pdf/tollesPapier.pdf

Aber nur, wenn in "file_name" ausschließlich ein einziger Dateiname
enthalten ist.
Falls das bei Dir der Fall ist, ist der Ansatz schon mal richtig und Du
kannst auf die Trennung in field, dataWrap und listNum verzichten. Die wäre
nämlich erforderlich, um an einzelne Bilder zu gelangen, wenn mehrere als
CSV in der DB stehen sollten.

> Was aber nicht funktioniert ist:
> 13 = IMAGE
>          13 {
>            file = {field : file_path}{field : file_name}
>            insertData = 1
>            wrap = | <br />
>          }
> Ich denke, dass dies am Unterschied zwischen den Datentypen liegt, die
> "value" bzw. "file" erwarten, ich komme aber auf keine schlaue Lösung.

inserData ist in beiden Fällen überflüssig, weil dataWrap das gleiche tut
und mit weniger Code auskommt. Dein Problem liegt auch nicht im Unterschied
zwischen den Datentypen, sondern darin, daß file keine stdWrap properties
hat, demzufolge auch kein inserData. Damit stdWrap verfügbar ist, mußt Du
das Ganze über import erledigen.

Dein TEXT Element klappt auch so:

12 = TEXT
12 {
    dataWrap = {field : file_path}{field : file_name}<br />
}

und das IMAGE Pendant dazu sieht so aus:

13 = IMAGE
13 {
    file {
        import.dataWrap = {field : file_path}{field : file_name}
    }
    wrap = | <br />
}

HTH

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
openBC/Xing: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com




More information about the TYPO3-german mailing list