TYPO3 – Inhalte dynamisch in 2 Teile aufteilen
Um mehrere Datensätze oder Menüpunkte in zwei Teile aufzuteilen, benötigt Ihr eine if-Abfrage. In dieser wird nun die Anzahl der Items gezählt und durch zwei geteilt. Hier der TYPO3 TYPOSCRIPT Code:
Code-Beispiel von typo3wizard.com:
lib.splitmenu = COA lib.splitmenu { 10 = HMENU 10.special = directory 10.special.value = 1 10.1 = TMENU 10.1 { wrap = <div>1.teil<br>|</div> NO { stdWrap.cObject = COA stdWrap.cObject { 10 = TEXT 10.field = title if.value.data = register:count_HMENU_MENUOBJ if.negate = 1 if.isLessThan.prioriCalc=1 if.isLessThan.cObject=TEXT if.isLessThan.cObject.insertData=1 if.isLessThan.cObject.value = ({register:count_menuItems}+1)/2 wrap = |<br> } } } 20 < .10 20.1.wrap = <div>2.teil<br>|</div> 20.1.NO.stdWrap.cObject.if.negate > }
Hier ein größeres Beispiel wie ich die Funktionen bei einer größeren Ausgabe eingebaut habe:
# Hier wird das Menü der Unterseiten (mit Inhaltsangabe) ersetzt
# um ein Bild aus den Seiteneigenschaften anzuzeigen
tt_content.menu.20.8 >
tt_content.menu.20.8 = COA
tt_content.menu.20.8 {
wrap = <div class=“teaser-product-wrap“>|</div>
10 = HMENU
10 {
special = directory
special.value.field = pages
1 = TMENU
1 {
wrap >
wrap = <div class=“teaser-product-lvl1-wrap-outer teaser-product-lvl1-wrap-outer-left“>|</div>
expAll = 1
noBlur = 1
NO >
NO {
before >
beforeWrap >
after >
linkWrap >
ATagBeforeWrap >
ATagParams >
doNotLinkIt = 1
doNotShowLink = 0
wrapItemAndSub >
ATagTitle >
stdWrap >
stdWrap.cObject >
stdWrap.cObject = COA
stdWrap.cObject {
if.value.data = register:count_HMENU_MENUOBJ
if.negate = 1
if.isLessThan.prioriCalc = 1
if.isLessThan.cObject = TEXT
if.isLessThan.cObject.insertData = 1
if.isLessThan.cObject.value = ({register:count_menuItems}+1)/2
wrap = <div class=“teaser-product-lvl1-wrap“>|</div>
#IMAGE
10 = IMAGE
10 {
wrap = <div class=“teaser-illu“>|</div>
file {
width = 325c
height =
maxW = 325c
maxH =
import {
cObject = TEXT
cObject {
cObject = TEXT
cObject {
value = fileadmin/templates/img/hierfehltnochdername.jpg
override {
required = 1
data = levelmedia:-1, slide
wrap = uploads/media/|
listNum = 0
}
}
override {
required = 1
field = media
wrap = uploads/media/|
listNum = 0
}
}
}
}
altText.field = title
titleText.field = title
imageLinkWrap = 1
imageLinkWrap {
enable = 1
typolink {
target = _self
parameter.field = uid
ATagParams = class=“more“
title.cObject=TEXT
title.cObject.field = nav_title // subtitle // title
}
}
}
#WRAP Start
15 = TEXT
15 {
wrap = <div class=“teaser-header-text-wrap“>
}
#TEXT
30 = COA
30 {
wrap = <div class=“teaser-text“>|</div>
10 = TEXT
10 {
field = abstract
crop = 90 | … | 1
wrap = <h2 class=“teaser-text-inner“>|</h2>
}
#HEADLINE
20 = TEXT
20 {
wrap = <p class=“more“>|</p>
field = title
ATagTitle.field = nav_title // subtitle // title
typolink.parameter.field = uid
typolink.title.cObject=TEXT
typolink.title.cObject.field = nav_title // subtitle // title
}
}
#WRAP Start END
35 = TEXT
35 {
wrap = </div>
}
}
}
}
}
#end lvl1
20 < .10
20.1.wrap = <div class=“teaser-product-lvl1-wrap-outer teaser-product-lvl1-wrap-outer-right“>|</div>
20.1.NO.stdWrap.cObject {
if.value.data = register:count_HMENU_MENUOBJ
if.negate >
}
}
Viel Spaß beim Anwenden.
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
Pingback: TYPO3 7.6 Seiteneigenschaften – Bild Ressourcen via FLUID auslesen
Sebastian Rehmer
Will gleich auprobieren, besten Dank. Das kann mir wirklich ziemlich Zeit sparen Grüße!