2016-03-21 6 views
0

Ich verwende Typo3 CMS 7.6.4. Ich möchte den "aktuellen" -Wert über ein TEMPLATE cObject weiterleiten, um den Wert in seinen Unterteilen zu verwenden.Wie kann typoscript "current" -Wert über TEMPLATE cObject in Teilbereiche weiterleiten?

lib.TEMPLATE_RENDER_OBJECT = TEMPLATE 
lib.TEMPLATE_RENDER_OBJECT { 
    template = TEXT 
    template.value = <!-- ###SUBPART### begin -->some content<!-- ###SUBPART### end --> 

    current = 1 

    subparts { 
    SUBPART = TEXT 
    SUBPART { 
     current = 1 
    } 
    } 
} 

Leider ist das TEMPLATE cObject lädt seinen eigenen Inhalt in den „aktuellen“ -Wertes, was auch in der TypoScriptReference for the TEMPLATE cObject vermerkt ist:

[...] Stromwert wird mit dem Inhalt geladen jedes subpart [...]

schafft also die obere lib.TEMPLATE_RENDER_OBJECT etwas wie "some content" (statt usi ng den ursprünglichen "aktuellen" -Wert, wie ich es mir vorgestellt habe.


Ist es möglich, dieses Verhalten von TEMPLATE zu deaktivieren oder den ursprünglichen "aktuellen" -Wert wiederherzustellen?

+0

Nur eine kurze Frage (vielleicht ein wenig off topic). Warum verwenden Sie immer noch HTML-basierte Vorlagen und Unterelemente/Markierungen? Ich empfehle die Verwendung des FLUIDTEMPLATE cObject (siehe https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html), was viel mehr Flexibilität erlaubt. Da es sich um ein TYPO3 7 handelt, sollten Sie es vermeiden, mit solchen alten Schulmaterialien zu arbeiten, die früher oder später entfernt werden. Außerdem würde ich aufhören, Ihre TS-Bibliotheken in Großbuchstaben zu benennen. Gehe zu lowCamelCase oder so ähnlich. –

+0

@ Björn Ich würde nicht sagen, dass ich noch HTML-basierte Vorlagen verwende. Es ist eher so, dass ich zum ersten Mal ein CMS, Typo3, TypoScript und diese Vorlagen verwende. Tatsächlich scheint mir diese Methode, ein HTML-Dokument mit den benötigten HTML-Strukturen zu haben, diese Strukturen neu anzuordnen und die Inhalte bei Bedarf ohne neue Tags zu füllen (für meinen Anwendungsfall, weil ich die HTML-Strukturen mit meinem Standard entwickeln kann) Browser). Um ehrlich zu sein muss ich auch sagen, dass ich FLUIDTEMPLATE bisher nicht getestet habe. – Thomas

+0

@ Björn Und ja, deine Frage ist vielleicht ein wenig off-topic ist doch sicher nicht in Frage. – Thomas

Antwort

0

Eine kurze Antwort ist: Es ist nicht möglich, den ursprünglich eingestellten "current" -Wert in die Unterteile eines TEMPLATE cObject weiterzuleiten.

Ich lese das von lines 69-77 and lines 126-131 from the php source code for this type. Der "current" -Wert für jeden Unterpart wird dort ersetzt. Auf der anderen Seite wird für jede Markierung der ursprünglich eingestellte "aktuelle" -Wert nicht überschrieben. Das wird also nicht konsistent gehandhabt. Aber bitte vergib mir, wenn ich hier einen Fehler mache, denn das ist das erste Mal, dass ich mir den PHP-Quellcode anschaue.

Eine Lösung könnte sein, den vorhandenen Quellcode für TEMPLATE z. indem ein neues Flag eingeführt wird, um den "aktuellen" Wert beizubehalten. Dann könnte dieser erweiterte Quellcode von einem USER cObject verwendet werden.