Zum Inhalt springen

Verständnisfrage zu Objekten in TypoScript

Erstellt am 11. Dezember 2012 · 2 Antworten · letzte Antwort am 14. Dezember 2012

Tags: Frage

Zupermann ·

Hallo

ich habe zwei Fragen zu Typoscript, bzw den Objekten ...

1.

Ich nutze gerne eigene Objekte, wie Variablen, bevor ich diese zuweise.
Zum Beispiel erstelle ich mir im TS einfach ein Element

meinTEXT = TEXT
meinTEXT.value = website

mit dem ich dann weiter Arbeite, dieses Element habe ich dann auch im TypoScript-Objekt-Browser auf höchster Ebene. Meine Frage hierzu, es funktioniert zwar bislang, aber ist dies auch die korrekte Vorgehensweise, sich einfach so eigene Objekte, als eine art Variablen zu erzeugen oder sollte man dies nicht tun, bzw gehören die in ein anderes von Typo3 vorgesehenes Elternobjekt wie lib oder page etc...?

2.
Ich habe für meinen Header ein TEXT Element, in dem einige META-Tags gesetzt werden, dazu habe ich value mit () in Verbindung mit insertData = 1 in Verwendung, Sachen wie {$...} für Konstanten oder {TSFE:baseUrl} etc. werden mir genau wie gewollt ersetzt, mit dem Inhalt.

Was ich aber vergebens versuche, ist mit ein eigenes Objekt, zum Beispiel vom Typ TEXT, ausgeben zu lassen, Beispiel

meinTEXT = TEXT
meinTEXT.value = website


page.headerData.300.value (
                            {$meineKonatane}  #klappt wunderbar ...
                            {TSFE:baseUrl}    #ebenfalls super
                            {meinTEXT}        #keine Ahnung wie ich den anspreche, damit hier der Text rauskommt ...
				)

Ist nur ein Beispiel und die # sind nur fürs Forum eingefügte Anmerkungen

Hoffe, mir kann jemand helfen?

Vielen Dank m voraus

Chrissli ·

Zu 1.)
Ich hab' mal gelesen, das "lib" eher für Objekte gedacht ist, deren Inhalt sich selten(er) ändert, während "temp" eher temporäre Daten enthalten sollte. Ob dies aber tatsächlich was mit der Verarbeitung zu tun hat und sich evtl. positiv auf Speed und Offset auswirkt oder mehr kosmetischer Natur ist, kann ich dir leider nicht beantworten.

Zu 2. )

page.headerData.300 < meinTEXT
# evtl. auch 
page.headerData.300.value.cObject < meinText

Sollte funktionieren. Du versuchst nämlich ein Objekt direkt der value zuzuweisen

Zupermann ·

Hallo Chrissli

Danke für die Antwort, habe mich da mittlerweile eingelesen.

Lib ist für allerlei Objekte gedacht, die auch gerendert werden sollen. Temp wird direkt vor dem Rendern gelöscht, kommt also nicht finden Cache und wird auch nicht im ref aufgelistet. Dient also rein dem temporären bearbeiten und kopieren. Bei style glaub ich recht ähnlich.

Von einem Verbot von eigenen Objekten oberster Ebene habe ich bislang nichts erfahren, zumal es ja klappt und auch extensions wie tt_news es so handhaben - es ist wohl eher einfach nicht die feine saubere Art, das oberste Level vollzumüllen...

Wegen dem zweiten Punkt, ist mir die von dir beschriebene Zuweisung klar - ich hätte aber gerne eine Lösung Objekte, zum Beispiel vom Typ TEXT direkt mittels insertData in ein zum Beispiel mehrteiliges Value (siehe oben) zu rendern. Da müsste doch im Objekt eine geText Methode sein, die das dann dort rein rendert. Kann mir nicht vorstellen, das sowas nicht implementiert wurde, das würde viel Zeit sparen und bei vielen TYPO3 eigenen Objekten hat man es auch ermöglicht - ich glaub, ich komm einfach nur nicht auf die richtige Syntax um das anzusprechen...

Auch nervt mich, dass ich bislang nirgends ein Zeichen für einen echten Newline .(kein br) gefunden habe und mit einem nervigen workaround arbeiten muss- in Summe geht viel Zeit drauf, machbar ist alles, nur schade um den Mehraufwand, wenn's auch einfacher gehen könnte.

LG