Zum Inhalt springen

wechselnde CSS-Klasse

Erstellt am 5. Juli 2007 · 2 Antworten · letzte Antwort am 6. Juli 2007

Tags: Frage

daniz78 ·

Hallo Leute,

ich habe ein FCE welches wie eine Tabelle aufgebaut ist.
Die Einträge sollen eine unterschiedliche Hintergrundfarbe bekommen. Den Inhaltstyp "Tabelle" kann ich nicht nehmen, da auch links und downloads innerhalb der Spalten angeboten werden.

Bisher habe ich es über ein Auswahlmenü "section" gelöst (z.B. hell/dunkel). Doch nun möchte der Kunde Einträge auch mittendrin einfügen...gibt es eine Möglichkeit die css-Klassen dynamisch zu vergeben?

gerade Zeile = hell / ungerade Zeile = dunkel

Vielen Dank schonmal!

Gruß, Daniz

daniz78 ·

Die XML-Struktur einer section sieht ja wie folgt aus:

<section index="1">
	<itemType index="field_X">
		<el>
		###inhalt###
		</el>
	</itemType>
</section>
<section index="2">
	<itemType index="field_Y">
		<el>
		###inhalt###
		</el>
	</itemType>
</section>

Aber wie kann man jetzt per TS auf den index zugreifen?

Gruß, Daniz

daniz78 ·

Ok, ich habs irgendwie hingekriegt...mit Sicherheit nicht die attraktivste Lösung, aber es funktioniert einigermassen!

Zuerst mappe ich das class-Attribut vom div, dem die css-Klasse übergeben werden soll.

<div class="wechselnde-css-Klasse">inhalt</div>

Innerhalb der DS rufe ich ein PHP-Skript auf.

10 = PHP_SCRIPT
10.file = php_script.inc.php

Im PHP Skript erstelle ich eine Sessionvariable die als Zähler dient. Der Wert der Sessionvariable wird an eine temporäre Variable übergeben. Mit dem Modulo-Operator unterscheide ich zwischen geraden und ungeraden Einträgen.
Laut TSREF müssen alle Ausgaben in der Variable $content zurückgegeben werden.

<?php

if(!isset($_SESSION['counter'])) {
	$_SESSION['counter'] = 0;
}
$_SESSION['counter'] ++;
$counter = $_SESSION['counter'];

if($counter%2==0) $content = 'css-Klasse-1';
else $content = 'css-Klasse-2';

return $content;
?>

Einen Schönheitsfehler hat das ganze noch...befinden sich mehrere gleiche FCE´s auf einer Seite, starten nicht alle mit der gleichen Farbe, wenn die Anzahl der Einträge ungerade ist.

Hoffe es hilft trotzdem weiter!
Für Anregungen/Verbesserungen bin ich natürlich offen!!!

Gruß, Daniz