Hallo zusammen,
ich habe mehrere Content-Elemente, die jeweils in einem Subpart untereinander dargestellt werden sollen. Zwischen den einzelnen Elementen soll ein definierbarer Zwischenraum (Spacer) platziert werden.
Die Elemente sind nicht alle Standard-tt_content-Elemente.
Beispiel:
Content 1
[Spacer]
Content 2
[Spacer]
Content 3
Mit einem wrap oder noTrimWrap hatte ich leider kein Glück, da ich vor dem ersten und nach dem letzten Element diesen [Spacer] nicht angezeigt haben wollte.
Ich habe nun ein kleines Work-Around erstellt:
# im Setup des Seiten-Templates
tt_content.stdWrap.preUserFunc = user_helpers_class->setContentItemCount
<?php
require_once(PATH_tslib.'class.tslib_pibase.php');
class user_helpers_class extends tslib_pibase {
function setContentItemCount($content, $conf) {
$currentItemCount = $GLOBALS['TSFE']->contentItemCount++;
$spacer = '<div height="7"><img src="fileadmin/template/img/layout/dummy.gif" width="175" height="7" alt="" /></div>';
/** Beginnt bei 0 zu zählen */
if ($currentItemCount > 0) {
$content = $spacer.$content;
}
return $content;
}
}
?>
d.h. es wird ein Zähler zum TSFE-Array hinzugefügt, welches bei jedem Erscheinen eines tt_content-(Unter-)Elements inkrementiert wird. Anhand dieser Information wird der Zwischenraum gesetzt oder nicht.
Frage:
Meine eigentliche Frage zum Thema TypoScript wäre, ob dies evtl. auch einfacher gegangen wäre und ob TYPO3 hier eine Funktion in der stdWrap vorgesehen hat, die ich bisher noch nicht entdeckt habe.
Vielen Dank schon im Voraus für die Meinungen!
MfG, Olly