Zum Inhalt springen

Header-Daten (CSS) der besitzenden Page ändern

Erstellt am 18. März 2005 · 6 Antworten · letzte Antwort am 23. März 2005

Tags: Frage

MartinLeim ·

Ich habe jetzt meine FE-Extension soweit, dass ich im TS eine Template-Datei angebe, die dann eingelesen wird. Marker und Blöcke werden dann per PHP ersetzt und das ganze wird dann auf meiner Seite als ContentElement eingefügt.
Nun würde ich gerne die Möglichkeit haben, im TS für das Plugin der Pfad zu einem Stylesheet anzugeben, welches dann eingebunden wird.
Dafür muss ich ja im PHP-Code des Plugins irgendwie Zugriff auf die Header-Daten der Seite, die das Plugin als ContentElement einbindet, erlangen, um das Stylesheet hinzufügen.

Wie mach ich das? Ich hab bereits nach irgendeiner Funktion gesucht, die das bewerkstelligt, bin aber leider noch nicht fündig geworden.

TW ·

doch! :-)

in die setup.txt deiner extension...

folgendes ergänzend reinschreiben...

_CSS_DEFAULT_STYLE (

.tx_list_table1{
die deklaration für die css...

}

)

das ist eigentlich alles....

cu

MartinLeim ·

Ja, das hab ich schon gesehen, aber ich würde die CSS-Definitionen gerne in eine seperate Datei auslagern, die dann frei angebbar ist. Im CSS_DEFAULT_STYLE kann ich aber meine Styles nur inline definieren, oder?

TW ·
MartinLeim schrieb

Ja, das hab ich schon gesehen, aber ich würde die CSS-Definitionen gerne in eine seperate Datei auslagern, die dann frei angebbar ist. Im CSS_DEFAULT_STYLE kann ich aber meine Styles nur inline definieren, oder?

wo soll denn da der sinn liegen...?

wenn du ne separate datei angeben willst?

wenn du das css nicht inline ham, willst, dann schmeiss die css aus der extension doch in eine ander css datei rein....

versteh nicht ganz was du willst..

MartinLeim ·

OK, folgendermaßen:

Ich möchte, dass zunächst mal eine Standard-CSS-Datei in meiner Extension verwendet wird.
Wenn derjenige, der die Extension auf eine Seite einbindet, diese Styles nehmen will, soll er nichts verändern, wenn er aber eine eigene Style-Datei haben will, soll er etwas angeben können wie

plugin.user_blabla.stylesheet = pfad_zu_der_datei/style.css

Und wenn das angegeben ist, wird dieses Stylesheet auch eingefügt.

Das wollte ich halt so lösen, dass ich die Stylesheet-Datei in der PHP-Klasse meiner Extension in die besitzende Seite einbinde.

Ist das nicht möglich?

Eine evtl. mögliche Alternative fällt mit gerade ein: Wenn es möglich wäre, die Default-CSS-Styles im PHP-Script zu ändern (und diese Ändeurngen dann auch auf die Seite übertragen werden), könnte ich als Workaround immerhin die angegebene CSS-Datei öffnen und inline schreiben.
Nicht sauber, aber es würde seinen Zweck erfüllen.
Doch die Frage: Ist das wenigstens möglich, und wenn ja, wie?

MartinLeim ·

So, ich hab die Lösung gefunden!
Ich hab zufällig irgendwo was von $TSFE->additionalHeaderData gelesen, und das ist genau das, was ich gesucht habe!

Vielleicht hilfts ja dem ein oder anderen.