Revision: 20611
Updated Code
at November 29, 2009 14:47 by dreadwarrior
Updated Code
# the following Page-TSConfig should be added: # RTE button settings: allow User plugin RTE.default.showButtons := addToList(user) RTE.default.hideButtons := removeFromList(user) # allowed/denied tags RTE.default.proc.allowTags := addToList(YOURTAG) RTE.default.proc.denyTags := removeFromList(YOURTAG) # HTMLparser_rte settings RTE.default.proc.HTMLparser_rte = 1 # don't mask special html characters like < or > RTE.default.proc.HTMLparser_rte.htmlSpecialChars = 0 # protect specific, user defined tags RTE.default.proc.HTMLparser_rte.tags.YOURTAG.protect = 1 # entryHTMLparser_db settings # special html characters like < or > will be stored unmasked (get masked by re-display in RTE) RTE.default.proc.entryHTMLparser_db.htmlSpecialChars = -1 # protect specific tag RTE.default.proc.entryHTMLparser_db.tags.YOURTAG.protect = 1 # protect non matching tags RTE.default.proc.entryHTMLparser_db.keepNonMatchedTags = protect # exitHTMLparser_db settings RTE.default.proc.exitHTMLparser_db = 1 # protected non matched tags during fetching from database RTE.default.proc.exitHTMLparser_db.keepNonMatchedTags = 1 # don't mask html characters like < or > RTE.default.proc.exitHTMLparser_db.htmlSpecialChars = 0 # RTE plugin "user" settings # define group name RTE.default.userElements.10 = My Own Tags # tag configuration RTE.default.userElements.10.1 = My First Tag RTE.default.userElements.10.1.description = The selected field gets wrapped with <YOURTAG>|</YOURTAG> RTE.default.userElements.10.1.mode = wrap RTE.default.userElements.10.1.content = <YOURTAG>|</YOURTAG> # furthermore, we also need the following declaration in lib.parseFunc* objects in a template records setup field: # common parsed elements (e.g.header fields) lib.parseFunc.allowTags := addToList(YOURTAG) lib.parseFunc.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 lib.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # add custom tag to parse function of the RTE lib.parseFunc_RTE.allowTags := addToList(YOURTAG) lib.parseFunc_RTE.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # this line enables the "passthrough" of non-typo-tags to the HTML parser # you can also specify an cObject directly, without the need of a plugin call lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi
Revision: 20610
Updated Code
at November 29, 2009 14:45 by dreadwarrior
Updated Code
# the following Page-TSConfig should be added: # RTE button settings: allow User plugin RTE.default.showButtons := addToList(user) RTE.default.hideButtons := removeFromList(user) # allowed/denied tags RTE.default.proc.allowTags := addToList(star) RTE.default.proc.denyTags := removeFromList(star) # HTMLparser_rte settings RTE.default.proc.HTMLparser_rte = 1 # don't mask special html characters like < or > RTE.default.proc.HTMLparser_rte.htmlSpecialChars = 0 # protect specific, user defined tags RTE.default.proc.HTMLparser_rte.tags.YOURTAG.protect = 1 # entryHTMLparser_db settings # special html characters like < or > will be stored unmasked (get masked by re-display in RTE) RTE.default.proc.entryHTMLparser_db.htmlSpecialChars = -1 # protect specific tag RTE.default.proc.entryHTMLparser_db.tags.YOURTAG.protect = 1 # protect non matching tags RTE.default.proc.entryHTMLparser_db.keepNonMatchedTags = protect # exitHTMLparser_db settings RTE.default.proc.exitHTMLparser_db = 1 # protected non matched tags during fetching from database RTE.default.proc.exitHTMLparser_db.keepNonMatchedTags = 1 # don't mask html characters like < or > RTE.default.proc.exitHTMLparser_db.htmlSpecialChars = 0 # RTE plugin "user" settings # define group name RTE.default.userElements.10 = My Own Tags # tag configuration RTE.default.userElements.10.1 = My First Tag RTE.default.userElements.10.1.description = The selected field gets wrapped with <YOURTAG>|</YOURTAG> RTE.default.userElements.10.1.mode = wrap RTE.default.userElements.10.1.content = <YOURTAG>|</YOURTAG> # furthermore, we also need the following declaration in lib.parseFunc* objects in a template records setup field: # common parsed elements (e.g.header fields) lib.parseFunc.allowTags := addToList(YOURTAG) lib.parseFunc.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 lib.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # add custom tag to parse function of the RTE lib.parseFunc_RTE.allowTags := addToList(YOURTAG) lib.parseFunc_RTE.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # this line enables the "passthrough" of non-typo-tags to the HTML parser # you can also specify an cObject directly, without the need of a plugin call lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi
Revision: 20609
Updated Code
at November 20, 2009 03:22 by dreadwarrior
Updated Code
# the following Page-TSConfig should be added: # RTE button settings: allow User plugin RTE.default.showButtons := addToList(user) RTE.default.hideButtons := removeFromList(user) # HTMLparser_rte settings RTE.default.proc.HTMLparser_rte = 1 # don't mask special html characters like < or > RTE.default.proc.HTMLparser_rte.htmlSpecialChars = 0 # protect specific, user defined tags RTE.default.proc.HTMLparser_rte.tags.YOURTAG.protect = 1 # entryHTMLparser_db settings # special html characters like < or > will be stored unmasked (get masked by re-display in RTE) RTE.default.proc.entryHTMLparser_db.htmlSpecialChars = -1 # protect specific tag RTE.default.proc.entryHTMLparser_db.tags.YOURTAG.protect = 1 # protect non matching tags RTE.default.proc.entryHTMLparser_db.keepNonMatchedTags = protect # exitHTMLparser_db settings RTE.default.proc.exitHTMLparser_db = 1 # protected non matched tags during fetching from database RTE.default.proc.exitHTMLparser_db.keepNonMatchedTags = 1 # don't mask html characters like < or > RTE.default.proc.exitHTMLparser_db.htmlSpecialChars = 0 # RTE plugin "user" settings # define group name RTE.default.userElements.10 = My Own Tags # tag configuration RTE.default.userElements.10.1 = My First Tag RTE.default.userElements.10.1.description = The selected field gets wrapped with <YOURTAG>|</YOURTAG> RTE.default.userElements.10.1.mode = wrap RTE.default.userElements.10.1.content = <YOURTAG>|</YOURTAG> # furthermore, we also need the following declaration in lib.parseFunc* objects in a template records setup field: # common parsed elements (e.g.header fields) lib.parseFunc.allowTags := addToList(YOURTAG) lib.parseFunc.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 lib.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # add custom tag to parse function of the RTE lib.parseFunc_RTE.allowTags := addToList(YOURTAG) lib.parseFunc_RTE.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # this line enables the "passthrough" of non-typo-tags to the HTML parser # you can also specify an cObject directly, without the need of a plugin call lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi
Revision: 20608
Updated Code
at November 20, 2009 03:16 by dreadwarrior
Updated Code
# the following Page-TSConfig should be added: # HTMLparser_rte settings RTE.default.proc.HTMLparser_rte = 1 # don't mask special html characters like < or > RTE.default.proc.HTMLparser_rte.htmlSpecialChars = 0 # protect specific, user defined tags RTE.default.proc.HTMLparser_rte.tags.YOURTAG.protect = 1 # entryHTMLparser_db settings # special html characters like < or > will be stored unmasked (get masked by re-display in RTE) RTE.default.proc.entryHTMLparser_db.htmlSpecialChars = -1 # protect specific tag RTE.default.proc.entryHTMLparser_db.tags.YOURTAG.protect = 1 # protect non matching tags RTE.default.proc.entryHTMLparser_db.keepNonMatchedTags = protect # exitHTMLparser_db settings RTE.default.proc.exitHTMLparser_db = 1 # protected non matched tags during fetching from database RTE.default.proc.exitHTMLparser_db.keepNonMatchedTags = 1 # don't mask html characters like < or > RTE.default.proc.exitHTMLparser_db.htmlSpecialChars = 0 # RTE plugin "user" settings # define group name RTE.default.userElements.10 = My Own Tags # tag configuration RTE.default.userElements.10.1 = My First Tag RTE.default.userElements.10.1.description = The selected field gets wrapped with <YOURTAG>|</YOURTAG> RTE.default.userElements.10.1.mode = wrap RTE.default.userElements.10.1.content = <YOURTAG>|</YOURTAG> # furthermore, we also need the following declaration in lib.parseFunc* objects in a template records setup field: # common parsed elements (e.g.header fields) lib.parseFunc.allowTags := addToList(YOURTAG) lib.parseFunc.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 lib.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # add custom tag to parse function of the RTE lib.parseFunc_RTE.allowTags := addToList(YOURTAG) lib.parseFunc_RTE.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # this line enables the "passthrough" of non-typo-tags to the HTML parser # you can also specify an cObject directly, without the need of a plugin call lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi
Revision: 20607
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 19, 2009 18:55 by dreadwarrior
Initial Code
# the following Page-TSConfig should be added: # HTMLparser_rte settings RTE.default.proc.HTMLparser_rte = 1 # don't mask special html characters like < or > RTE.default.proc.HTMLparser_rte.htmlSpecialChars = 0 # protect specific, user defined tags RTE.default.proc.HTMLparser_rte.tags.YOURTAG.protect = 1 # entryHTMLparser_db settings # special html characters like < or > will be stored unmasked (get masked by re-display in RTE) RTE.default.proc.entryHTMLparser_db.htmlSpecialChars = -1 # protect specific tag RTE.default.proc.entryHTMLparser_db.tags.YOURTAG.protect = 1 # protect non matching tags RTE.default.proc.entryHTMLparser_db.keepNonMatchedTags = protect # exitHTMLparser_db settings RTE.default.proc.exitHTMLparser_db = 1 # protected non matched tags during fetching from database RTE.default.proc.exitHTMLparser_db.keepNonMatchedTags = 1 # don't mask html characters like < or > RTE.default.proc.exitHTMLparser_db.htmlSpecialChars = 0 # RTE plugin "user" settings # define group name RTE.default.userElements.10 = My Own Tags # tag configuration RTE.default.userElements.10.1 = My First Tag RTE.default.userElements.10.1.description = The selected field gets wrapped with <YOURTAG>|</YOURTAG> RTE.default.userElements.10.1.mode = wrap RTE.default.userElements.10.1.content = <YOURTAG>|</YOURTAG> # furthermore, we also need the following declaration in lib.parseFunc* objects in a template records setup field: # common parsed elements (e.g.header fields) lib.parseFunc.allowTags := addToList(YOURTAG) lib.parseFunc.tags.star = < plugin.tx_YOURTAGtag_pi1 lib.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi1 # add custom tag to parse function of the RTE lib.parseFunc_RTE.allowTags := addToList(YOURTAG) lib.parseFunc_RTE.tags.star = < plugin.tx_YOURTAGtag_pi1 # this line enables the "passthrough" of non-typo-tags to the HTML parser # you can also specify an cObject directly, without the need of a plugin call lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.YOURTAG = < plugin.tx_YOURTAGtag_pi
Initial URL
Initial Description
If you want to code your own custom tag extension and package it as an TYPO3 plugin, there could be some issues getting things to work in RTE enabled textarea fields. The Extension Kickstarter only supports to add the necessary TypoScript setup for the tt_content.bodytext field but no configuration for proper redisplaying of the tag in RTEs is made. With this setup (PageTS-Config and TypoScript Setup) you will be able to redisplay the tag in the RTE and also render it nicely with your plugin code. Just create an extension with the Kickstarter, insert YOURTAGtag as extension key and replace YOURTAG with the tag name you like (also in the extension key). Note: the PageTS-Config is non-destructive concerning already existing configurations, just insert it after your (propably customized) RTE configuration in the TSConfig field on your rootpage. Only settings I've found out to be necessary were added. Leave me a comment if something is redundant or unnecessary. Thanks!
Initial Title
TYPO3 Custom Tag Extension - necessary PageTS-Config for RTE and TypoScript Setup for lib.parseFunc*-Objects
Initial Tags
Initial Language
TYPO3