# Image Slider Element: Output Rendering # http://www.typo3lexikon.de/typo3-tutorials/typoscript/referenz/stdwrap.html # http://www.wiki-cms.com/TypoScript-Register # https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Index.html /* tt_content.gridelements_pi1.20.10.setup.custom_element_imageslider { # Basis-HTML für Image-Slider erstellen stdWrap { outerWrap(
) } columns.0 { renderObj = COA renderObj { # Bilderzähler mit -1 initialisieren, damit "data-slide-to" mit 0 beginnen kann 5 = LOAD_REGISTER 5.imgCounter2 = -1 # Bilder-Indikator erstellen 10 = FILES 10 { # Quelle: https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/ContentObjects/Files/Index.html#special-key-references # http://www.typo3forum.net/discussion/77745/imageslider-via-ts references { table = tt_content uid.field = uid #fieldName = image fieldName = assets } renderObj = COA renderObj { # Bilderzähler laden 10 = LOAD_REGISTER 10 { imgCounter2.cObject = TEXT imgCounter2.cObject.data = register:imgCounter2 imgCounter2.cObject.wrap = |+1 imgCounter2.prioriCalc = intval } # Indikatoren ausgeben 20 = IMAGE 20 { stdWrap.dataWrap =
  • # Erster Indikator als "active" setzen stdWrap.dataWrap.override =
  • stdWrap.dataWrap.override.if { equals.data = register:imgCounter2 value = 0 } } } stdWrap.wrap = } # Bilder, Link-Button und Text erstellen 20 = FILES 20 { references { table = tt_content uid.field = uid #fieldName = image fieldName = assets } renderObj = COA renderObj { # Bilderzähler laden 10 = LOAD_REGISTER 10 { imgCounter.cObject = TEXT imgCounter.cObject.data = register:imgCounter imgCounter.cObject.wrap = |+1 imgCounter.prioriCalc = intval } # Link-Button vorbereiten 20 = LOAD_REGISTER 20 { imageCaption.cObject = COA imageCaption.cObject { 10 = TEXT 10 { required = 1 data = file:current:description wrap =

    |

    } 20 = TEXT 20 { required = 1 data = file:current:title typolink.parameter.data = file:current:link typolink.ATagParams = class="link-button" #typolink.title.data = file:current:title } wrap = } } # Bild mit Link-Button ausgeben 30 = IMAGE 30 { file.import.data = file:current:publicUrl #titleText.data = file:current:title altText.data = file:current:alternative params = class="img-responsive" stdWrap.dataWrap =
    |{register:imageCaption}
    # Das erste Bild als "active" setzen, damit der Slider überhaupt starten kann stdWrap.dataWrap.override =
    |{register:imageCaption}
    stdWrap.dataWrap.override.if { equals.data = register:imgCounter value = 1 } } } stdWrap.wrap = } } } } */ # Link Box: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_container_linkbox { columns.0 { renderObj = COA renderObj { # Bild ausgeben 10 = FILES 10 { references { table = tt_content #uid.field = uid fieldName = assets } renderObj = IMAGE renderObj { file.width = 720 file.height = 375c file.import.data = file:current:publicUrl file.crop.data = file:current:crop //titleText.data = file:current:title altText.data = file:current:alternative params = class="img-responsive" //stdWrap.typolink.parameter.data = file:current:link } } # Header ausgeben 20 = TEXT 20 { field = header wrap = if.isTrue.field = header } # Link aus Header um Bild und Überschrift wrappen stdWrap.typolink.parameter.field = header_link stdWrap.wrap =
    |
    } /* # # Nur auf Home Latest News ausgeben stdWrap.append = CONTENT stdWrap.append { table = tt_news select.pidInList = 22 select.orderBy = datetime DESC select.max = 1 renderObj = COA renderObj { 10 = TEXT 10.field = datetime #10.date_stdWrap.strftime = %d. %B %Y 10.strftime = %d. %B %Y 10.wrap = 40 = TEXT 40.value = # Link um Latest News wrappen stdWrap.typolink { # link to single view parameter = 21 # create an cacheable link, that does not depend on cooluri or realurl. useCacheHash = 1 # add the additional params additionalParams.wrap = &tx_ttnews[tt_news]=| # data expects special commands # "&my_extra_param=something" cannot work on .data additionalParams.data = field:uid } } wrap =
    |
    } */ wrap = } } [traverse(page, "uid") == 1] # # Nur auf Home Latest News ausgeben tt_content.gridelements_pi1.20.10.setup.custom_container_linkbox.columns.0.stdWrap.append = CONTENT tt_content.gridelements_pi1.20.10.setup.custom_container_linkbox.columns.0.stdWrap.append { table = tx_news_domain_model_news select.pidInList = 22 select.orderBy = datetime DESC select.max = 1 renderObj = COA renderObj { 10 = TEXT 10.field = datetime #10.date_stdWrap.strftime = %d. %B %Y 10.strftime = %d. %B %Y 10.wrap = 40 = TEXT 40.value = # Link um Latest News wrappen stdWrap.typolink { # link to single view parameter = 21 # create an cacheable link, that does not depend on cooluri or realurl. useCacheHash = 1 # add the additional params ## OLD tt_news: additionalParams.wrap = &tx_ttnews[tt_news]=| additionalParams.wrap = &tx_news_pi1[action]=detail&tx_news_pi1[controller]=News&tx_news_pi1[news]=| # data expects special commands # "&my_extra_param=something" cannot work on .data additionalParams.data = field:uid } } wrap =
    |
    } [END] # Image-Gallery: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_elements_img-gallery-4 { # item wrap stdWrap { outerWrap = } columns.0 { #wrap =
    |
    renderObj = COA renderObj { wrap =
    |
    #Ausgabe aller übrigen Bilder als kleine Thumbnails, damit kB reduziert wird 10 = FILES 10 { references { table = tt_content #fieldName = image fieldName = assets } begin = 0 renderObj = COA renderObj { 10 = IMAGE 10 { file { #treatIdAsReference = 1 #width = 720 #height = 474c #Verhältnis w : h = 1.519 #width = 220 #height = 145c #Verhältnis w : h = 1.333 #width = 350 #height = 262c #Verhältnis w : h = 1.25 width = 345 height = 275c import.data = file:current:publicUrl } altText.data = file:current:alternative // file:current:title params = class="img-responsive" imageLinkWrap = 1 imageLinkWrap { enable = 1 JSwindow = 0 directImageLink = 1 linkParams.ATagParams.dataWrap = class="lightbox" data-fancybox-group="lightbox{field:uid}" title="{file:current:description // file:current:title}" width = 1024 height = 1024m } } 20 = TEXT 20 { data = file:current:description wrap =

    |

    } # Jedes einzelne Bildelement wrapen (äusserster Container im Bild Loop) stdWrap.wrap =
    |
    } } } } } # Logo-Gallery: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_elements_logo-gallery { # item wrap stdWrap { outerWrap = } columns.0 { #wrap =
    |
    renderObj = COA renderObj { wrap =
    |
    #Ausgabe aller übrigen Bilder als kleine Thumbnails, damit kB reduziert wird 10 = FILES 10 { references { table = tt_content #fieldName = image fieldName = assets } begin = 0 renderObj = COA renderObj { 10 = IMAGE 10 { file { #treatIdAsReference = 1 #width = 720 #height = 474c #Verhältnis w : h = 1.519 #width = 220 #height = 145c #Verhältnis w : h = 1.333 #width = 350 #height = 262c #Verhältnis w : h = 1.25 width = 200 height = 200 import.data = file:current:publicUrl } altText.data = file:current:alternative // file:current:title params = class="img-responsive" /* imageLinkWrap = 1 imageLinkWrap { enable = 1 JSwindow = 0 directImageLink = 1 linkParams.ATagParams.dataWrap = class="lightbox" data-fancybox-group="lightbox{field:uid}" title="{file:current:description // file:current:title}" width = 800 height = 800m } */ imageLinkWrap = 1 imageLinkWrap { enable = 1 typolink.parameter.data = file:current:link } } 20 = TEXT 20 { data = file:current:description wrap =

    |

    } # Jedes einzelne Bildelement wrapen (äusserster Container im Bild Loop) stdWrap.wrap =
    |
    } } } } } /* # Icon-Gallery: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_elements_icon-gallery { # item wrap stdWrap { outerWrap = } columns.0 { #wrap =
    |
    renderObj = COA renderObj { wrap =
    |
    #Ausgabe aller übrigen Bilder als kleine Thumbnails, damit kB reduziert wird 10 = FILES 10 { references { table = tt_content #fieldName = image fieldName = assets } begin = 0 renderObj = COA renderObj { 10 = IMAGE 10 { file { #treatIdAsReference = 1 width = 50 height = 50c import.data = file:current:publicUrl } altText.data = file:current:alternative // file:current:title params = class="img-responsive" titleText.data = file:current:title # imageLinkWrap = 1 # imageLinkWrap { # enable = 1 # JSwindow = 0 # directImageLink = 1 # linkParams.ATagParams.dataWrap = class="lightbox" data-fancybox-group="lightbox{field:uid}" title="{file:current:description // file:current:title}" # width = 800 # height = 800m # } } 20 = TEXT 20 { data = file:current:description wrap =

    |

    } # Jedes einzelne Bildelement wrapen (äusserster Container im Bild Loop) stdWrap.wrap =
    |
    } } } } } */ # Icon-Gallery: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_elements_info-box { columns.0 { wrap =
    |
    renderObj = COA renderObj { # Ausgabe Header 10 = TEXT 10 { field = header wrap =

    |

    if.isTrue.field = header } # Ausgabe Bodytext 20 = TEXT 20 { field = bodytext parseFunc < lib.parseFunc_RTE } } } } # One-Single-Thumbnail-Gallery: Output Rendering tt_content.gridelements_pi1.20.10.setup.custom_elements_one-single-thumbnail-gallery { # item wrap stdWrap { outerWrap = } columns.0 { #wrap =
    |
    renderObj = COA renderObj { wrap =
    |
    #Ausgabe des ersten Bildes als Thumbnail 10 = FILES 10 { references { table = tt_content fieldName = assets } begin = 0 maxItems = 1 renderObj = COA renderObj { 10 = IMAGE 10 { file { #treatIdAsReference = 1 width = 760 height = 570c import.data = file:current:publicUrl crop.data = file:current:crop } altText.data = file:current:alternative // file:current:title params = class="img-responsive" imageLinkWrap = 1 imageLinkWrap { enable = 1 JSwindow = 0 directImageLink = 1 linkParams.ATagParams.dataWrap = class="lightbox" data-fancybox-group="lightbox{field:uid}" title="{file:current:description // file:current:title}" width = 1024 height = 1024m } } 20 = TEXT 20 { data = file:current:description wrap =

    |

    } # Bildelement wrapen (äusserster Container im Bild Loop) stdWrap.wrap =
    |
    } } #Ausgabe übrigen Bilder versteckt ausgeben, sie sollen nur in der Grossbildansicht erscheinen 20 = FILES 20 { references { table = tt_content fieldName = assets } begin = 1 renderObj = COA renderObj { 10 = IMAGE 10 { file { #treatIdAsReference = 1 width = 50 height = 50c import.data = file:current:publicUrl crop.data = file:current:crop } altText.data = file:current:alternative // file:current:title params = class="img-responsive" imageLinkWrap = 1 imageLinkWrap { enable = 1 JSwindow = 0 directImageLink = 1 linkParams.ATagParams.dataWrap = class="lightbox" data-fancybox-group="lightbox{field:uid}" title="{file:current:description // file:current:title}" width = 1024 height = 1024m } } 20 = TEXT 20 { data = file:current:description wrap =

    |

    } } stdWrap.wrap =
    |
    } } } }