Zum Inhalt springen

lib.parseFunc_RTE, CSS_Styled_Content, <td>, <p class="bodytext"> </p>

Erstellt am 10. Juli 2014 · 2 Antworten · letzte Antwort am 12. Juli 2014

Tags: Inhaltselemente, Frage

priesemut ·

Hallo Zusammen,

die Umstellung meine letzten Systems von CMS 4.5 auf 6.2 neigt sich dem Ende zu.

Das letzte Problem, das ich habe, ist folgendes:

Bis zur Ver. 4.5 wurde durch das mitgelieferte CSS_Styled_Content der RTE so konfiguriert,
dass er bei einer Tabelle alle Zelleninhalt wie folgt wrappte:

<td>
<p class="bodytext"> </p>
"Eigentlicher Text
</p>
</td>

Seit 4.6 und bis hin zu 6.2 sieht fehlt dieser wrap und es sieht so aus:

<td>
"Eigentlicher Text
</td>

Ich habe viele Quelle gefunden, in denen beschrieben wird, wie am diesen Wrap loswird.

Doch ich möchte ihn wieder haben, will dazu aber nicht das CSS_Styled_Content 4.5 aktivieren, da ich sonst mehrere andere Probleme habe.

Kann mir also jemand sagen, wie ich dem RTE das wrappen der td-Inhalte wieder beibringen kann?

Wäre sehr nett, besten Dank (hab' schon ein paar Stunden gesucht, vieles ausprobiert aber nichts hat bisher funktioniert).

Besten Dank schon mal im Voraus!

Viele Grüße

Priesemut

toifel ·

Nicht getestet, aber sollte mit "lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag = P" funktionieren. Das komplette Typoscript aus css_styled_content liegt übrigens in /typo3/sysext/css_styled_content/static/ (auch die alten Versionen, zum direkten Vergleich).

priesemut · · Beste Antwort

Hallo Toifel,

danke für deine Antwort! Insbesondere dein Tipp:

Das komplette Typoscript aus css_styled_content liegt übrigens in /typo3/sysext/css_styled_content/static/ (auch die alten Versionen, zum direkten Vergleich)

hat mich weitergebracht. Mit einem 'diff' der setup.txt von css_styled_content Ver. 4.5 und 6.2 hab' ich den Unterschied dannn schnell und leicht gefunden.

Dann nur noch die alte Form ins setup des aktuellen Templates und voilà - es funktioniert wieder wie zuvor!

Für alle, die vielleicht vor der gleichen Aufgabenstellung stehen, hier noch der Text für's Template (setup):

# use RTE table cell wrap from CSS_Styled_Content Version 4.5
lib.parseFunc_RTE {
  externalBlocks {
    table.stdWrap.HTMLparser.keepNonMatchedTags = 1
    table.HTMLtableCells=1
    table.HTMLtableCells {
      default.callRecursive=1
      addChr10BetweenParagraphs=1
    }
  }
}

Nur zum Vergleich noch, wie das im css_styled_content > Ver. 4.5. gelöst wird:

lib.parseFunc_RTE {
  externalBlocks {
    table.HTMLtableCells=1
    table.HTMLtableCells {
      # Recursive call to self but without wrapping non-wrapped cell content
      default.stdWrap {
        parseFunc =< lib.parseFunc_RTE
        parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag =
      }
      addChr10BetweenParagraphs=1
    }
  }
}

Wie man sieht, wird der Zelleninhalt (|) jetzt nicht mehr durch den HTMLparser geschickt
und folglich auch nicht mehr von <p class="bodytext"> </p> "Eigentlicher Text </p>
'gewrapt'. Das war früher mal ein Kritikpunkt an Releases <= 4.5.

Viele Grüße

Priesemut