[Frage] lib.parseFunc_RTE, CSS_Styled_Content, <td>, <p class="bodytext"> </p> [Gelöst] TYPO3-Version: -

  • priesemut priesemut
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2014, 18:14

    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

  • priesemut priesemut
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2014, 09:56 - Lösung

    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):

    1. # use RTE table cell wrap from CSS_Styled_Content Version 4.5
    2. lib.parseFunc_RTE {
    3. externalBlocks {
    4. table.stdWrap.HTMLparser.keepNonMatchedTags = 1
    5. table.HTMLtableCells=1
    6. table.HTMLtableCells {
    7. default.callRecursive=1
    8. addChr10BetweenParagraphs=1
    9. }
    10. }
    11. }

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

    1. lib.parseFunc_RTE {
    2. externalBlocks {
    3. table.HTMLtableCells=1
    4. table.HTMLtableCells {
    5. # Recursive call to self but without wrapping non-wrapped cell content
    6. default.stdWrap {
    7. parseFunc =< lib.parseFunc_RTE
    8. parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag =
    9. }
    10. addChr10BetweenParagraphs=1
    11. }
    12. }
    13. }

    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


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    11. 07. 2014, 08:46

    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 priesemut
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2014, 09:56

    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):

    1. # use RTE table cell wrap from CSS_Styled_Content Version 4.5
    2. lib.parseFunc_RTE {
    3. externalBlocks {
    4. table.stdWrap.HTMLparser.keepNonMatchedTags = 1
    5. table.HTMLtableCells=1
    6. table.HTMLtableCells {
    7. default.callRecursive=1
    8. addChr10BetweenParagraphs=1
    9. }
    10. }
    11. }

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

    1. lib.parseFunc_RTE {
    2. externalBlocks {
    3. table.HTMLtableCells=1
    4. table.HTMLtableCells {
    5. # Recursive call to self but without wrapping non-wrapped cell content
    6. default.stdWrap {
    7. parseFunc =< lib.parseFunc_RTE
    8. parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag =
    9. }
    10. addChr10BetweenParagraphs=1
    11. }
    12. }
    13. }

    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

  • 1