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
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
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