Text nach jedem x-ten Element einfügen

  • Chrissli Chrissli
    Jedi-General
    0 x
    1016 Beiträge
    28 Hilfreiche Beiträge
    17. 06. 2010, 12:00

    Hallo,
    habe folgenden Typo-Code:

    1. temp.content0 {
    2.  
    3. table = tt_content
    4. where = colPos = 0
    5. andWhere = CType != 'header'
    6. languageField = sys_language_uid
    7. }
    8. renderObj = COA
    9. renderObj {
    10. 9 = TEXT
    11. 9 {
    12. field = header
    13. wrap = <div class="prodimg"><div class="prodtitle">|</div>
    14. }
    15. 10 = IMAGE
    16. 10 {
    17. file {
    18. import = uploads/pics/
    19. import {
    20. field = image
    21. listNum = 0
    22. }
    23. height.field = imageheight
    24. width.field = imagewidth
    25. }
    26. altText.field = altText
    27. titleText.field = titleText
    28. wrap = |</div>
    29. }
    30. 20 = TEXT
    31. 20 {
    32. field = bodytext
    33. parseFunc < lib.parseFunc_RTE
    34. }
    35. wrap = <div class="product">|</div>
    36. ###HIERUM GEHTS###
    37. }
    38. wrap = <div id="products">|</div>
    39. }

    Ich möchte nun an der Stelle ###HIERUM GEHTS###
    alle 3 Elemente ein TEXT Element einfügen, etwa so:

    1. #jedes 3. element
    2. 30 = TEXT
    3. 30.value = </div><div>
    4. #sonst
    5. 30.value =

    oder alternativ:
    wie kann ich mein renderObj = COA in 3er-Blöcke wrappen?

    Hoffe es ist verständlich was ich meine und jemand kann mir helfen.
    Danke schon mal im vorraus!

    God's in his heaven, all's right with the world


  • 1
  • topshopper topshoppe...
    Sternenflotten-Admiral
    0 x
    181 Beiträge
    0 Hilfreiche Beiträge
    17. 06. 2010, 14:23

    Hallo Chrissli,

    ich habe keine Lösung, aber evtl. hilft Dir folgender Link weiter:
    [url=]typo3.intervation.de/snippets/tt-content/wrap-nach-festgelegten-content-element.html[/url]

    Zitat:
    Texteinblendung nach einem angegebenen Content, z.B. für Werbeeinblendungen.

    Ab und zu ist es erforderlich nach einem festzulegenen CONTENT eine Texteinblendung an zeigen zu lassen. Sei es eine Trennlinie, ein Hinweis oder ein Werbefenster.

  • Michaelh74 Michaelh7...
    Jedi-General
    0 x
    1519 Beiträge
    0 Hilfreiche Beiträge
    18. 06. 2010, 10:34

    Zur Not per JS.

    Soweit ich mich erinnere, kann man auch eine Variable registrieren und die hochzählen. Dann mit ner Abfrage prüfen.
    Eine eigen PHP userfunc wäre auch noch ein Ansatz.

    Gruß
    Michael

  • Chrissli Chrissli
    Jedi-General
    0 x
    1016 Beiträge
    28 Hilfreiche Beiträge
    18. 06. 2010, 11:09

    [quote="Michaelh74"]
    Zur Not per JS.
    (...)
    Eine eigen PHP userfunc wäre auch noch ein Ansatz.
    [/quote]
    Sinn des ganzen ist den Fall des deaktivierten JS zu behandeln :-)
    Werde wohl um ein PHP-Script nicht rumkommen.
    Vielleicht kann mir hier einer helfen.
    Binde meine PHP-Scripte immer so ein:

    1. temp.searchform = PHP_SCRIPT_INT
    2. temp.searchform.file = scripts/searchform.inc.php

    Mein Versuch per userFunc scheitert aus irgendeinem Grund immer, sprich es passiert gar nichts ausser dass mein Marker ersetzt wird mit -nichts-

    Beispielsweise folgender Typocode

    1. temp.myfunc = USER_INT
    2. temp.myfunc {
    3. includeLibs = scripts/rowWrap.inc.php
    4. userFunc = test->rowWrap
    5. }

    1. class test {
    2.  
    3. function rowWrap() {
    4. $content = "test";
    5. return $content;
    6. }
    7. }

    Meine Ausgabe bleibt allerdings leer, auch wenn includeLibs ausserhalb von temp.myfunc deklariert wird.
    Weiß da jemand Rat?
    PS.: scripts/ ist natürlich zugänglich, per PHP_SCRIPT_INT funktionierts

    God's in his heaven, all's right with the world

  • 1