[Frage] 2 spaltiges Fluid-Template TYPO3-Version: 4.5.3

  • WimDim WimDim
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    31. 12. 2013, 15:21

    Hallo Zusammen,

    ich habe ein 2 spaltiges Layout und hätte gerne eine Darstellung von links nach rechts.
    Also: 1 Eintrag Links -> 1 Eintrag Rechts
    2 Eintrag Links -> 2 Eintrag Rechts
    usw.

    Mein Typoscript sieht wie folgt aus:

    1. page.10 = FLUIDTEMPLATE
    2. page.10 {
    3. partialRootPath = fileadmin/templates/partials/
    4. layoutRootPath = fileadmin/templates/layouts/
    5.  
    6. variables {
    7. headertext < styles.content.get
    8. headertext.select.where = colPos = 0
    9.  
    10. content_left < styles.content.get
    11. content_left.select.where = colPos = 1
    12. content_left.renderObj.stdWrap.wrap = <div class="left"> | </div>
    13.  
    14. content_right < styles.content.get
    15. content_right.select.where = colPos = 2
    16. content_right.renderObj.stdWrap.wrap = <div class="right"> | </div>
    17. }
    18. }

    Nur gibt das allerdings folgende Ausgabe:

    <div class="left"></div>
    <div class="left"></div>
    <div class="left"></div>
    <div class="right"></div>
    <div class="right"></div>
    <div class="right"></div>

    Ich hätte aber gerne:
    <div class="left"></div>
    <div class="right"></div>
    <div class="left"></div>
    <div class="right"></div>
    <div class="left"></div>
    <div class="right"></div>

    Kann mir hier jemand weiterhelfen?

    Vielen Dank schon mal.


  • etux etux
    Jedi-Meister
    0 x
    360 Beiträge
    13 Hilfreiche Beiträge
    05. 01. 2014, 09:45

    Also nochmal die einfachste Variante an Beispiel von Deinem TypoScript vom letzten Beitrag:
    Wenn Du in der Backend-Spalte (colPos = 3) die Inhaltselemente so setzen würdest, wie die im generierten Quellcode erscheinen sollten (kurzer Text, Beschreibung, kurzer Text, Beschreibung, … usw.), dann bräuchtest Du nur noch bei „renderObj“ optionSplit anzuwenden:

    1. renderObj.stdWrap.wrap = <div class="left"> | </div> || <div class="right"> | </div>

    Wenn Du den „kurzen Text“ immer in einer Backend-Spalte setzest und die „Beschreibungen“ in einer anderen, dann müsstest Du die Inhaltselementen in TypoScript (oder spätestens im Fluid-Template) paarweise gruppieren – erstes Element aus der „Text-Spalte“ mit dem ersten Element aus der Spalte „Beschreibung“, zweites E. Aus „Text“ mit dem zweiten aus „Beschreibung“, usw.
    Das würde sicher auch gehen, ist aber aufwendiger.

  • WimDim WimDim
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    05. 01. 2014, 10:46

    Jetzt habe ich einen allgemeinen Content, und die beiden Backendspalten auf eine reduziert. Er gibt mir auch alle Inhalte aus, aber mit deinem Code kommt immer nur "<div class="left"></div>" und "right" gar nicht.
    Anbei mal die Code-passage:

    1. table = tt_content
    2. slide = -1
    3. select.orderBy = sorting
    4. select.languageField = sys_language_uid
    5. select.where = colPos = 2
    6. renderObj < tt_content
    7. renderObj.stdWrap.wrap = <div class="left"> | </div> || <div class="right"> | </div>
    8. }

    Woran kann das liegen? Danke für die Hilfe :-)

  • etux etux
    Jedi-Meister
    0 x
    360 Beiträge
    13 Hilfreiche Beiträge
    05. 01. 2014, 11:18

    O.K. Den Link zur „split“-Funktion hatte ich Dir schon gepostet. ;)
    Mach bitte folgendes:
    Die Inhaltselementen der Spalte Rechts (colPos = 2) [b]zuerst[/b] spliten:

    1. lib.content < styles.content.getRight
    2. lib.content {
    3. renderObj < tt_content
    4. renderObj {
    5. outerWrap = |###SPLITTER###
    6. }
    7. }
    8. }

    Dann den MARKER so umschreiben:

    1. ... {
    2. 10 < lib.content
    3. token = ###SPLITTER###
    4. cObjNum = |*|1||2|*|3
    5. 1.current = 1
    6. 1.wrap = <div class="left">|</div>
    7. 2.current = 1
    8. 2.wrap = <div class="right">|</div>
    9. 3.current = 1
    10. 3.wrap =
    11. }
    12. }
    13. }

  • WimDim WimDim
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    05. 01. 2014, 11:49

    SUUUPER, vielen vielen Dank. Nun klappt es endlich. Wahnsinn :-) ...
    Vielen Dank an euch Alle für die Hilfe und die Geduld :-)