Zum Inhalt springen

uid aus typoscriptObjectPath, dann passendes Bild aus Seiteneingeschaften mit FILES

Erstellt am 11. September 2016 · 2 Antworten · letzte Antwort am 13. September 2016

Tags: Fluid, Dateien & FAL, TYPO3 6.x, Frage

fraenzer ·

Hallo zusammen,

ich habe in einem FLUID Template die Zeile

<f:cObject typoscriptObjectPath="lib.productCategoryImage" data="{singlePage}" currentValueKey="uid" />

stehen, die Zeile steht innerhalb einer Schleife, in {singlePage} steht eine Seiten ID. Über Typoscript möchte ich nun das erste Bild der entsprechenden Seite ausgeben, mein TypoScript sieht wie folgt aus:

lib {
  productCategoryImage = FILES
  productCategoryImage {
    references {
      table = pages
      uid.data.current = 1
      fieldName = media
    }
    renderObj = COA
    renderObj {
      10 = IMAGE
      10 {
        file.import.data = file:current:uid
        file.treatIdAsReference = 1
        params = class="img-responsive"
      }
    }
  }
}

Das Bild wird nicht generiert. Ich habe testweise die Zeile "uid.data.current = 1" durch "uid = feste ID" ersetzt, dann erfolgt die Ausgabe des Bildes von der Seite mit der festen ID umgehend.
Als Test habe ich ferner folgendes ausprobiert:

lib {
  productCategoryImage = TEXT
  productCategoryImage {
    current = 1
    wrap = <p>|</p>
  }
}

Die Seiten ID aus dem typoscriptObjectPath wird korrekt angezeigt.

Muss die Zeile im references Teil von dem FILES-Objekt irgendwie anders aussehen? Stehe hier gerade auf dem Schlauch. Vielen Dank für Eure Hilfe!

Gruß,fraenzer

Julian.​Hofmann ·

Hallo fraenzer.

lib.productCategoryImage.references.uid ist bisher kein TS-Objekt. Folglich wird auch data nicht ausgewertet.

lib.productCategoryImage.references.uid.cObject = TEXT
lib.productCategoryImage.references.uid.cObject.data.current = 1

Viele Grüße
Julian

fraenzer · · Beste Antwort

Hallo Julian,

danke für Deine Antwort. Habs probiert, mit Deinem Code kam ich jedoch leider nicht zum Ziel. Aber das data aus der zweiten Zeile weglassen hat geholfen. Mein Code sieht nun wie folgt aus:

lib {
  productCategoryImage = FILES
  productCategoryImage {
    references {
      table = pages
      uid {
        cObject = TEXT
        cObject {
          current = 1
        }
      }
      fieldName = media
    }
    renderObj = COA
    renderObj {
      10 = IMAGE
      10 {
        file.import.data = file:current:uid
        file.treatIdAsReference = 1
        params = class="img-responsive"
      }
    }
  }
}

Danke Dir vielmals!
Gruß,
fraenzer