Zum Inhalt springen

Constants aud dem PageSetup in Extension auslesen?

Erstellt am 17. November 2005 · 6 Antworten · letzte Antwort am 23. November 2005

Tags: Frage

Crono ·

Hallo zusammen,

ich brauche einen kurzen denkanstoß: Ich schreibe gerade eine FE-Extension die neue "Frames" (=Rahmen) zur Verfügung stellt. Ich habe mich dabei am Typo3 Buch von Altmann, Fritz & Hinderink (Kapitel 8.6) orientiert. Soweit sogut. Desweiteren setzte ich in den Constants der Seiten eine variable "Colortheme". Auf diese Variable möchte ich zugreifen, um je nach Seite das richtige CSS verwenden zu können.

Ich möchte das so machen:

for ($key = $offset; $key < $offset + count($styles); $key++) {
    t3lib_extMgm::addTypoScript($_EXTKEY,'setup','
    tt_content.stdWrap.innerWrap.cObject.'.$key.' = TEXT
    tt_content.stdWrap.innerWrap.cObject.'.$key.'.value = <div class="tx-frame_'.$styles[$key-$offset].'_{$Colortheme}">|</div>',43);
}

jedoch wird dann auf der Seite "{$Colortheme}" ausgegeben, ohne das es mit dem aktellen variablen Inahlt ersetzt wird.

Ideen?

ciao
Andreas

tomek909 ·

Hi Crono,

ich kann über dein spezielles Problem nicht viel sagen aber
wenn man bei php eine variabel innerhalb von anführungszeichen benutzen will muss man dopplete benutzen ;-)

folg. code kann die variabel nicht durch einen Wert ersetzen

. '_{$Colortheme}">|</div>'.

Probiersmal so

. "_{$Colortheme}\">|</div>".

mfg
Tomek909

steffenk ·

das trifft zwar für php zu, in dem Zusammenhang ist das aber falsch, da im Script die Var $Colortheme nicht bekannt ist.

Ich hab zwar auch keine Lösung parat, aber untersuche mal das $TSFE-Array.

Crono ·

Hallo zusammen,

erstmal vielen dank für die Antworten.

@steffenK
Ich habs über das TSFE Array versucht, allerdings scheint die Variable noch nicht bekannt zu sein an der stelle, an der das Skript läuft.

@tomek909
Ist mit klar mit den einfachen Anführungszeichen - an PHP basics sollte es nicht scheitern 😉. Meine Idee war, das genau dieses Setup als Text geschrieben wird also mit {$...}, da ich dachte das es beim rendern der Seite dann durch die Variable ersetzt wird - wenn ich es von Hand in's Setup reinschreibe wird es ja ersetzt...

ciao
Andreas

steffenk ·

das Problem ist einfach der Zeitpunkt - Die Seite ist schon TS-gerendert, so das die Var nicht mehr ersetzt wird.
Ich habe ein ähnliches Problem beim auslesen eines TS-Objektes.
Nach einigem Forschen bleibt nur die Hoffnung auf kaspers "Crawler", der genau das ermöglichen soll, ich freue mich auch über jede weiterführende Information.

steffenk ·

Mir hat jemand die Lösung geflüstert:

Es gibt eine Extension, die genau das macht. Sie heisst tscobj

Da kann man sich auch alles abschauen 😉