Domino 9 und frühere Versionen > ND8: Entwicklung - XPages

XPage CSS/Style mit jQuery verändern

(1/2) > >>

Anna_90:
Hallo zusammen,

ich bin noch ein ziemlicher Anfänger in Sachen XPage.
Ich bin mit der Aufgabe beschäftigt eine XPage-Anwendung in Bezug auf den Style mehr dynamisch zugestalten. Dabei arbeite ich mit einem Setup-Dokument welches ich auslese und diese Werte dann in den einzelnen Steuerelementen usw. verwende. Soweit klappt das alles ganz gut.

Jetzt stehe ich vor dem Problem, das ich zum Beispiel meine Ansichten zur Laufzeit neu erzeugt. Beim ersten Aufrufen der Seite ist meine Ansicht mit Schriftfarbe usw. vollständig angepasst. Sobald ich jetzt eine Kategorie öffne überschreibt mir irgendwas mein Änderungen wieder. :-:

Ich arbeite zur zeit mit dem Ereignis "OnClientLoad" der XPage und dann bearbeite ich z.B. die Klasse der Kategorien über jQuery.

$(document).ready(function(){     $(".Klasse").css("color","red");  });

Hat jemand von euch eine Idee ob ich noch anders an die Sache heran gehen kann oder ob ich an irgendeiner Stelle noch einmal dazwischen komme um meine Anpassungen wieder vorzunehmen und das normale CSS zuüberschreiben?

Mit besten Grüßen
Anna :)

Driri:
Sind nicht genau für solche Sachen die Themes gedacht ?

Ich habe da noch nicht mit gearbeitet, da wir hier ein Standarddesign über alle Anwendungen verwenden.

Z.B. in der XPages-Bibel "Mastering XPages" gibt es dazu ein ausführliche Beschreibung.

Anna_90:
Themes kann man aber nicht dynamisch anpassen.
Das habe ich am Anfang auch schon einmal ausprobiert und bin gescheitert.

Die Lösung soll halt vorsehen, dass ein Kunde später über ein Setup-Dokument für jeden Bereich einstellen kann welche Schriftfarbe oder Größe usw. er verwenden möchte.

Sven Hasselbach:

--- Zitat ---Themes kann man aber nicht dynamisch anpassen.
--- Ende Zitat ---
Doch. Relativ simpel sogar.

Hier ein dynamisches Theme:

--- Code: ---<theme extends="webstandard"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="platform:/plugin/com.ibm.designer.domino.stylekits/schema/stylekit.xsd" >
<control override="true">
<name>sh.demo.text</name>
<property>
<name>styleClass</name>
<value>${javascript:@Text(@Now())}</value>
</property>
</control>
</theme>

--- Ende Code ---

In der jew. XPage läßt sich das jew. Element z.B. so verwenden:


--- Code: ---<xp:text themeId="sh.demo.text">Style mich dynamisch!</xp:text>

--- Ende Code ---

Man kann EL verwenden, SSJS, usw. um an die Konfigurationsparameter zu gelangen...

Anna_90:
Ja das stimmt schon, vielleicht habe ich mich da etwas falsch ausgedrückt.
Diesen Ansatz habe ich sogar am Anfang ausprobiert.

Für die meisten Elemente würde das auch sicherlich gut funktionieren, allerdings habe ich ja das Problem, dass ich einige Elemente wie zum Beispiel meine Ansichten erst zur Laufzeit generiere und auch immer wieder aktualisiere. Ich habe also gar nicht die Möglichkeit eine themeId zuvergeben oder ich weiß nicht wie.


Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln