RTE mit Links in eigener Typo3 Extension — RTE zu bestehendem (tt_news) Feld hinzufügen
problemfleder: input feld/textarea hat kein RTE – links werden in der DB mit <a> und nicht mit <link> abgespeichert – email links aus eigenen RTE feldern werden nicht encrypted – tt_news_cat description mit RTE
in der ext_tables.php der typo3 extension bei dem gewünschten feld (oder in einer neuen mini-extension für ein bestehendes feld) die Eigenschaft ‚defaultExtras‘ hinzufügen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
'$tempColumns = array ( description' => array( 'exclude' => '1', 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.description', 'config' => array( 'type' => 'text', 'cols' => '45', 'rows' => '5' ), 'defaultExtras' => 'richtext[bold|unorderedlist|link]:rte_transform[mode=ts_css]' # # richtext[bold|unorderedlist|link] # definiert die verfügbaren formatierungsoptionen # # rte_transform[mode=ts_css] # wandelt <a> tags in <link> tags um und wrapt absätze in <p> tags # dies kann auch weggelassen werden, wenn nur # formatierungen (ul/ol/b/...) gebraucht werden ) ); |
wurde der rte_transform parameter definiert muss der inhalt für die ausgabe wieder trasformiert werden. in der extension folgendermassen anpassen:
1 2 3 4 |
#alt: '<div>'. $row['description'] .'</div>' #neu: '<div>'. $this->pi_RTEcssText( $row['description'] ) .'</div>' |
wird der inhalt direkt im typoscript generiert muss wohl das renderObj des CONTENT elementes mit dem RTE geparsed werden. ungetestet – in etwa so:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
temp.categories = CONTENT temp.categories { table = tt_news_cat select { # the category folder(s) pidInList = 5 selectFields = uid,title,description } renderObj = COA renderObj { 10 = TEXT 10.field = title 20 = TEXT 20.field = description 20.parseFunc =< lib.parseFunc_RTE } } |
interessanter snippets zum rendering: http://www.pi-phi.de/rendering.html
Was für ein Glück, dass ich Deinen Blog gefunden habe.
Hat mir super geholfen. Danke!!!
Kommentar by Sven — 12. September 2011 @ 08:39
Echt cool, genau was ich gesucht habe
Kommentar by Pierre — 17. April 2012 @ 15:36
Perfekt!!! Vielen Dank – ihr habt mein Leben gerettet 😉
Kommentar by Gernot — 3. Mai 2012 @ 13:30
Danke für den guten Tipp.
Hat mir viel Arbeit erspart 🙂
Kommentar by André Markus — 29. April 2013 @ 13:21