CSS in WebObjects
Immerwieder habe ich eine Menge Spaß mit der Implementierung von CSS in Apples WebObjects. Ein externes Stylesheet einzubinden ist ein ziemlicher Krampf. Kollege Raphael und ich haben gestern den ganzen Tag damit verbracht, mehrere Möglichkeiten selbst auszuprobieren. Eine Google-Suche bringt leider nicht so arg viel.
Unsere (leider auch nicht perfekte) Lösung sieht folgendermaßen aus: Wir erstellen im Projekt ein neues leeres File und nennen es "css.css". Der Name ist aber eigentlich wurst. Dieses wird nun als WOResourceURL erst in eine Komponente eingebunden und dann an die entsprechende Stelle im "link rel..."-Tag kopiert. Nun kann man auch auf das einzeln liegende CSS-File zugreifen und muss die CSS-Daten nicht mehr in jeder Datei angeben. Das Zugreifen über die WOResourceURL ist notwendig, da man auf Dateien die in den Webserver-Resources liegen nicht direkt zugreifen kann, warum auch immer.
Dadurch entsteht auch das nächste Problem: Mit WOResourceURLs kann man nur in WO-Files arbeiten, nicht aber in einer Datei aus den Webserver-Resources. Dadurch ist es mir nicht möglich, auf andere Dateien zuzugreifen und so muss ich das Hintergrundbild für "body" und "footer" immernoch in der entsprechenden Komponente von Hand und per "style"-Befehl einbinden, jeweils wieder mit einer extra WOResourceURL. Ein riesen Spaß! Wenigsten bin ich jetzt in der Lage alles andere global per CSS zu steuern, auch wenn die Lösung nur zufriedenstellend, aber bei weitem noch nicht perfekt ist.
Falls mal ein neues WO-Projekt anstehen sollte werde ich mir weiterführende Gedanken darum machen, in der Hoffnung das Apple mit den nachfolgenden Versionen vielleicht nachbessert.