Zum Inhalt springen

Text nach jedem x-ten Element einfügen

Erstellt am 17. Juni 2010 · 3 Antworten · letzte Antwort am 18. Juni 2010

Tags: Inhaltselemente, Frage

Chrissli ·

Hallo,
habe folgenden Typo-Code:

temp.content0 {
 
  table = tt_content
  select {
    where = colPos = 0
    andWhere = CType != 'header'
    languageField = sys_language_uid
  }
  renderObj = COA
  renderObj {
    9 = TEXT
    9 {
      field = header
       wrap = <div class="prodimg"><div class="prodtitle">|</div>
    }
    10 = IMAGE
    10 {
      file {
        import = uploads/pics/    
        import {
          field = image          
          listNum = 0   
        }
        height.field = imageheight
        width.field = imagewidth
      }
      altText.field = altText
      titleText.field = titleText   
      wrap = |</div>
    }
    20 = TEXT
    20 {
      field = bodytext
      parseFunc < lib.parseFunc_RTE    
    }
    wrap = <div class="product">|</div>
    ###HIERUM GEHTS###
  }  
  wrap = <div id="products">|</div>
}

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

#jedes 3. element
30 = TEXT
30.value = </div><div>
#sonst 
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!

Michaelh74 ·

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 ·
Michaelh74 schrieb

Zur Not per JS.
(...)
Eine eigen PHP userfunc wäre auch noch ein Ansatz.

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:

temp.searchform = PHP_SCRIPT_INT
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

temp.myfunc = USER_INT
temp.myfunc {
  includeLibs = scripts/rowWrap.inc.php
  userFunc = test->rowWrap
}
class test {

  function rowWrap() {
    $content = "test";
    return $content;
  }
}

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