Zum Inhalt springen

Wie übergebe ich in Fluid templates ein TypoScript Object + Data an ein Partial?

Erstellt am 24. Februar 2014 · 1 Antwort · letzte Antwort am 25. Februar 2014

Tags: Frage

kevinq ·

Ich habe ein TypoScript Object welche den Inhalt aus tt_content ausliest.Da ich in jedem Template eine andere Anzhal an Spalten habe, und ich nicht für jede Seite eigenes TypoScript erstellen möchte, wird die ID der Spalte im Template definiert.

Mit Folgendem Fluid Code gebe ich Also den Inhalt aus Splate 1 aus:

<f:section name="row-1">
    <f:format.html parseFuncTSPath="">
        <f:cObject typoscriptObjectPath="lib.content" data="{colPos:1}" />
    </f:format.html>
</f:section>

Nun möchte ich auch in einem Partial den inhalt einer Spalte ausgeben.

<f:section name="top">
    <f:render partial="headerImage" arguments="" />
</f:section>

Problem, wie bekomme ich das cObject samt colPost:1 in "arguments"?

Folgendes hat nicht funktioniert

<f:render partial="headerImage" arguments="{content: '{colPos:1 -> f:cObject(typoscriptObjectPath: 'lib.content')}'}" />
<f:render partial="headerImage" arguments="{content: '{colPos:1 -> f:cObject(typoscriptObjectPath: lib.content)}'}" />
<f:render partial="headerImage" arguments="{content: '{colPos:1 -> f:cObject(typoscriptObjectPath: \'lib.content\')}'}" />

die erste Variante erzeugt einen Error, die anderen Beiden geben einfach den Code im Frontend aus.


mein TypoScript sieht so aus:

lib.content = CONTENT
lib.content.table = tt_content
lib.content.select {
	orderBy = sorting
	languageField = sys_language_uid
	where.field = colPos
	where.wrap = colPos = |
}
jenses ·

lib.content steht überall zur Verfügung, auch im Partial,
also kannst du doch dort mit <f:cObject typoscriptObjectPath="lib.content" data="{colPos:1}" /> den Inhalt ausgeben können (also im HTML-Template deines Partials, nicht im Aufruf im übergeordneten Template)
Eine Übergabe als arguments ist überflüssig.