2016-09-15 3 views
0

Das folgende Typoscript durchsucht eine zufällige Unterseite und rendert das erste Bild, auf das im Medienfeld verwiesen wird. Es klappt. Aber ich brauche ein Standardbild, wenn das Medienfeld leer ist.Standardbild in FILES setzen renderObj mit FAL

page.10 = COA_INT 
page.10 { 
    10 = CONTENT 
    10 { 
    table = pages 
    select { 
     orderBy = rand() 
     max = 1 
     pidInList = 34 
    } 

    renderObj = COA 
    renderObj { 

     5 = FILES 
     5 { 
     references { 
      table = pages 
      uid.data = current:uid 
      fieldName = media 
     } 
     begin = 0 
     maxItems = 1 
     renderObj = IMAGE 
     renderObj { 
      file.import.data = file:current:publicUrl 
     } 
     } 
    } 
    } 
} 

Ich habe versucht, mit

file = fileadmin/.... 
file.import.data = file:current:publicUrl 
file.treatIdAsReference = 1 

oder

file.import.ifEmpty = fileadmin/.... 

oder whith überschreiben, aber es scheint, dass das ganze FILES-Objekt leer ist, wenn es keine Datei im Feld Medien und so ifempty wird nicht erreicht.

Kann mir jemand einen Tipp geben?

Edit: TYPO3 6.2

+0

Ich würde das 'override' eine Ebene nach oben zu dem ersten Schritt' renderObj'. – pgampe

+0

Dieser Hinweis hat mich auf den richtigen Weg gebracht. Ich konnte mein Problem schon lösen. – lisardo

+0

So wie eine Randnotiz: ' renderObj { file.import.data = file: Strom: publicUrl file.treatIdAsReference = 1 } ' kann wie ' renderObj optimiert werden { Datei .import.data = file: Strom: originalUid // Datei: Strom: uid } ' Es ist auch möglich, die alt + Titel aus dem sys_file_reference ' titleText.data = Datei zu verwenden: curre nt: title // file: aktuell: alternativ altText.data = datei: aktuell: alternativ // datei: aktuell: titel ' – minifranske

Antwort

1

pgampe gab mir den richtigen Hinweis - Überschreibung oder ifEmpty hat eine Ebene zu starten:

5.stdWrap.ifEmpty.cObject = IMAGE 
5.stdWrap.ifEmpty.cObject { 
     file = fileadmin/ ..... 
     file.height = 200c 
     file.width = 200c 
} 
+0

Sie sollten diese Antwort akzeptieren (auch wenn dies Ihre eigene ist). – pgampe

+0

Ich versuchte, aber bekam die Antwort, dass ich meine Antwort in zwei Tagen annehmen kann - Kuriositäten. – lisardo

+0

Ah ok. Richtig eine Art von Spamschutz. – pgampe