1 # ***************************************************************************
2 # Notice: "styles." (and "temp.") objects are UNSET after template parsing!
3 # Use "lib." for persisting storage of objects.
4 # ***************************************************************************
6 # Clear out any constants in this reserved room!
10 styles.content.get = CONTENT
13 select.orderBy = sorting
14 select.where = colPos=0
15 select.languageField = sys_language_uid
19 styles.content.getLeft < styles.content.get
20 styles.content.getLeft.select.where = colPos=1
23 styles.content.getRight < styles.content.get
24 styles.content.getRight.select.where = colPos=2
27 styles.content.getBorder < styles.content.get
28 styles.content.getBorder.select.where = colPos=3
31 styles.content.getNews < styles.content.get
32 styles.content.getNews.select.pidInList = {$styles.content.getNews.newsPid}
35 styles.content.editPanelPage = COA
36 styles.content.editPanelPage {
39 allow = toolbar,move,hide
40 label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.page
41 label.wrap = | <b>%s</b>
55 # *********************************************************************
56 # "lib." objects are preserved from unsetting after template parsing
57 # *********************************************************************
59 # Creates a condition for targets. Not allowed in XHTML except for xhtml frames DTD
63 isTrue.data = TSFE:dtdAllowsFrames
67 # Creates persistent ParseFunc setup for non-HTML content. This is recommended to use (as a reference!)
70 makelinks.http.keep = {$styles.content.links.keep}
71 makelinks.http.extTarget < lib.parseTarget
72 makelinks.http.extTarget =
73 makelinks.http.extTarget.override = {$styles.content.links.extTarget}
74 makelinks.mailto.keep = path
79 typolink.parameter.data = parameters : allParams
80 typolink.extTarget < lib.parseTarget
82 typolink.extTarget.override = {$styles.content.links.extTarget}
83 typolink.target < lib.parseTarget
85 typolink.target.override = {$styles.content.links.target}
86 parseFunc.constants =1
89 allowTags = {$styles.content.links.allowTags}
91 sword = <span class="csc-sword">|</span>
94 nonTypoTagStdWrap.HTMLparser = 1
95 nonTypoTagStdWrap.HTMLparser {
96 keepNonMatchedTags = 1
101 # good old parsefunc in "styles.content.parseFunc" is created for backwards compatibility. Don't use it, just ignore.
102 styles.content.parseFunc < lib.parseFunc
104 # Creates persistent ParseFunc setup for RTE content (which is mainly HTML) based on the "ts_css" transformation.
105 lib.parseFunc_RTE < lib.parseFunc
108 # Processing <table> and <blockquote> blocks separately
109 externalBlocks = article, aside, blockquote, div, dd, dl, footer, header, nav, ol, section, table, ul
111 # The blockquote content is passed into parseFunc again...
113 blockquote.callRecursive=1
114 blockquote.callRecursive.tagStdWrap.HTMLparser = 1
115 blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"
118 ol.stdWrap.parseFunc = < lib.parseFunc
121 ul.stdWrap.parseFunc = < lib.parseFunc
124 table.stdWrap.HTMLparser = 1
125 table.stdWrap.HTMLparser.tags.table.fixAttrib.class {
126 default = contenttable
130 table.stdWrap.HTMLparser.keepNonMatchedTags = 1
131 table.HTMLtableCells=1
132 table.HTMLtableCells {
133 # Recursive call to self but without wrapping non-wrapped cell content
135 parseFunc =< lib.parseFunc_RTE
136 parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag =
138 addChr10BetweenParagraphs=1
141 div.callRecursive = 1
150 # Definition list processing
154 nonTypoTagStdWrap.encapsLines {
155 encapsTagList = p,pre,h1,h2,h3,h4,h5,h6,hr,dt
158 innerStdWrap_all.ifBlank =
159 addAttributes.P.class = bodytext
160 addAttributes.P.class.setOnly=blank
162 nonTypoTagStdWrap.HTMLparser = 1
163 nonTypoTagStdWrap.HTMLparser {
164 keepNonMatchedTags = 1
174 # Create class attribute for <Hx> tags
180 # Create alignment class for <Hx> tags
183 field = header_position
185 noTrimWrap = |csc-header-alignment-| |
187 # Create "csc-firstHeader" class for <Hx> tags
190 value = csc-firstHeader
193 equals.data = cObj:parentRecordNumber
198 noTrimWrap = | class="|"|
205 # Date format (not HTML5)
217 equals.data = TSFE:config|config|doctype
222 wrap = <p class="csc-header-date">|</p>
223 prefixComment = 2 | Header date:
226 # HTML5 <hgroup> open
230 fieldRequired = subheader
233 equals.data = TSFE:config|config|doctype
237 # This CASE cObject renders the header content:
238 # currentValue is set to the header data, possibly wrapped in link-tags.
243 typolink.parameter.field = header_link
245 10.key.field = header_layout
246 10.key.ifEmpty = {$content.defaultHeaderType}
247 10.key.ifEmpty.override.data = register: defaultHeaderType
251 10.1.dataWrap = <h1{register:headerClass}>|</h1>
254 10.2.dataWrap = <h2{register:headerClass}>|</h2>
257 10.3.dataWrap = <h3{register:headerClass}>|</h3>
260 10.4.dataWrap = <h4{register:headerClass}>|</h4>
263 10.5.dataWrap = <h5{register:headerClass}>|</h5>
269 field = header_layout
298 equals.data = TSFE:config|config|doctype
299 # Hide subheader for old style form element (it is used for recipient mail)
303 if.equals.field = CType
309 # HTML5 <hgroup> close
320 wrap = <p class="csc-header-date">|</p>
330 noTrimWrap = | datetime="|"|
352 equals.data = TSFE:config|config|doctype
356 # Pops the used registers off the stack:
357 98 = RESTORE_REGISTER
360 stdWrap.fieldRequired = header
362 equals.field = header_layout
367 stdWrap.editIcons = tt_content : header, [header_layout | header_position], [header_link|date]
368 stdWrap.editIcons.beforeLastTag = 1
369 stdWrap.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.header
372 dataWrap = <div class="csc-header csc-header-n{cObj:parentRecordNumber}">|</div>
374 override = <header class="csc-header csc-header-n{cObj:parentRecordNumber}">|</header>
378 equals.data = TSFE:config|config|doctype
383 stdWrap.prefixComment = 2 | Header:
400 #******************************************************
401 # Including library for processing of some elements:
402 #******************************************************
403 includeLibs.tx_cssstyledcontent_pi1 = EXT:css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
406 #**********************************
407 # tt_content is started
408 #**********************************
411 tt_content.key.field = CType
413 innerWrap.cObject = CASE
415 key.field = section_frame
427 value = <div id="c{field:uid}"
437 override = <nav id="c{field:uid}"
441 equals.data = TSFE:config|config|doctype
451 # Create default class for content
458 # Create class for space before content
461 userFunc = tx_cssstyledcontent_pi1->renderSpace
463 constant = {$content.spaceBefore}
465 noTrimWrap = |csc-space-before-| |
468 # Create class for space after content
471 userFunc = tx_cssstyledcontent_pi1->renderSpace
473 constant = {$content.spaceAfter}
475 noTrimWrap = |csc-space-after-| |
480 noTrimWrap = | class="|"|
502 equals.data = TSFE:config|config|doctype
510 1 =< tt_content.stdWrap.innerWrap.cObject.default
511 1.20.10.value = csc-frame csc-frame-invisible
513 5 =< tt_content.stdWrap.innerWrap.cObject.default
514 5.20.10.value = csc-frame csc-frame-rulerBefore
516 6 =< tt_content.stdWrap.innerWrap.cObject.default
517 6.20.10.value = csc-frame csc-frame-rulerAfter
519 10 =< tt_content.stdWrap.innerWrap.cObject.default
520 10.20.10.value = csc-frame csc-frame-indent
522 11 =< tt_content.stdWrap.innerWrap.cObject.default
523 11.20.10.value = csc-frame csc-frame-indent3366
525 12 =< tt_content.stdWrap.innerWrap.cObject.default
526 12.20.10.value = csc-frame csc-frame-indent6633
528 20 =< tt_content.stdWrap.innerWrap.cObject.default
529 20.20.10.value = csc-frame csc-frame-frame1
531 21 =< tt_content.stdWrap.innerWrap.cObject.default
532 21.20.10.value = csc-frame csc-frame-frame2
538 value = <a id="c{field:uid}"></a>
541 # Create div with class for space before content
546 userFunc = tx_cssstyledcontent_pi1->renderSpace
548 constant = {$content.spaceBefore}
550 wrap = csc-space-before-|
554 wrap = <div class="|"></div>
564 # Create div with class for space after content
569 constant = {$content.spaceAfter}
571 wrap = csc-space-after-|
578 innerWrap2 = | <p class="csc-linkToTop"><a href="#">{LLL:EXT:css_styled_content/pi1/locallang.xml:label.toTop}</a></p>
579 innerWrap2.insertData = 1
580 innerWrap2.fieldRequired = linkToTop
583 prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
584 prepend.if.isTrue.field = _LOCALIZED_UID
588 allow = move,new,edit,hide,delete
593 edit.displayRecord = 1
596 prefixComment = 1 | CONTENT ELEMENT, uid:{field:uid}/{field:CType}
604 # See Object path "lib.stdheader"
605 tt_content.header = COA
614 dataWrap = <p class="csc-subheader csc-subheader-{field:layout}">|</p>
619 equals.data = TSFE:config|config|doctype
623 editIcons = tt_content:subheader,layout
624 editIcons.beforeLastTag = 1
625 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.subheader
627 prefixComment = 2 | Subheader:
636 tt_content.text = COA
645 parseFunc = < lib.parseFunc_RTE
647 editIcons = tt_content:bodytext, rte_enabled
648 editIcons.beforeLastTag = 1
649 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext
651 prefixComment = 2 | Text:
660 # (also used for rendering 'textpic' type):
661 tt_content.image = COA
662 tt_content.image.10 = < lib.stdheader
663 tt_content.image.20 = USER
664 tt_content.image.20 {
665 userFunc = tx_cssstyledcontent_pi1->render_textpic
668 imgList.field = image
669 imgList.override.field = image_fileUids
670 imgPath = uploads/pics/
672 # Single image rendering
675 file.import.current = 1
676 file.width.field = imagewidth
679 bodyTag = <body style="margin:0; background:#fff;">
680 wrap = <a href="javascript:close();"> | </a>
681 width = {$styles.content.imgtext.linkWrap.width}
682 height = {$styles.content.imgtext.linkWrap.height}
683 effects = {$styles.content.imgtext.linkWrap.effects}
686 JSwindow.newWindow = {$styles.content.imgtext.linkWrap.newWindow}
687 JSwindow.if.isFalse = {$styles.content.imgtext.linkWrap.lightboxEnabled}
689 directImageLink = {$styles.content.imgtext.linkWrap.lightboxEnabled}
691 enable.field = image_zoom
692 enable.ifEmpty.typolink.parameter.field = image_link
693 enable.ifEmpty.typolink.parameter.listNum.splitChar = 10
694 enable.ifEmpty.typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
695 enable.ifEmpty.typolink.returnLast = url
697 typolink.parameter.field = image_link
698 typolink.parameter.listNum.splitChar = 10
699 typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
701 typolink.target < lib.parseTarget
703 typolink.target.override = {$styles.content.links.target}
705 typolink.extTarget < lib.parseTarget
707 typolink.extTarget.override = {$styles.content.links.extTarget}
709 linkParams.ATagParams.dataWrap = class="{$styles.content.imgtext.linkWrap.lightboxCssClass}" rel="{$styles.content.imgtext.linkWrap.lightboxRelAttribute}"
716 split.token.char = 10
717 split.token.if.isTrue = {$styles.content.imgtext.imageTextSplit}
718 split.returnKey.data = register : IMAGE_NUM_CURRENT
724 dataWrap = aria-describedby="csc-longdesc-{field:uid}-{register:IMAGE_NUM_CURRENT}"
731 parseFunc =< lib.parseFunc
735 if.isPositive = {$styles.content.imgtext.imageTextSplit} + {$styles.content.imgtext.captionSplit}
737 returnKey.data = register : IMAGE_NUM_CURRENT
752 returnKey.data = register : IMAGE_NUM_CURRENT
758 isPositive = {$styles.content.imgtext.imageTextSplit} + {$styles.content.imgtext.captionSplit}
760 equals.data = TSFE:config|config|doctype
766 titleText.field = titleText
775 returnKey.data = register : IMAGE_NUM_CURRENT
780 emptyTitleHandling = {$styles.content.imgtext.emptyTitleHandling}
781 titleInLink = {$styles.content.imgtext.titleInLink}
782 titleInLinkAndImg = {$styles.content.imgtext.titleInLinkAndImg}
785 textPos.field = imageorient
786 maxW = {$styles.content.imgtext.maxW}
787 maxW.override.data = register:maxImageWidth
788 maxWInText = {$styles.content.imgtext.maxWInText}
789 maxWInText.override.data = register:maxImageWidthInText
791 equalH.field = imageheight
793 image_compression.field = image_compression
794 image_effects.field = image_effects
796 noRows.field = image_noRows
798 cols.field = imagecols
799 border.field = imageborder
808 parseFunc =< lib.parseFunc
810 split.token.char = 10
811 split.token.if.isPositive = {$styles.content.imgtext.imageTextSplit} + {$styles.content.imgtext.captionSplit}
812 split.returnKey.data = register : IMAGE_NUM_CURRENT
824 returnKey.data = register : IMAGE_NUM_CURRENT
828 equals.data = TSFE:config|config|doctype
832 dataWrap = id="csc-longdesc-{field:uid}-{register:IMAGE_NUM_CURRENT}"
834 target = {$styles.content.links.target}
835 extTarget = {$styles.content.links.extTarget}
841 # captionSplit is deprecated, use imageTextSplit instead
842 captionSplit = {$styles.content.imgtext.captionSplit}
843 captionAlign.field = imagecaption_position
844 # caption/alttext/title/longdescURL splitting
845 imageTextSplit = {$styles.content.imgtext.imageTextSplit}
847 borderThick = {$styles.content.imgtext.borderThick}
848 borderClass = {$styles.content.imgtext.borderClass}
849 colSpace = {$styles.content.imgtext.colSpace}
850 textMargin = {$styles.content.imgtext.textMargin}
852 borderSpace = {$styles.content.imgtext.borderSpace}
853 separateRows = {$styles.content.imgtext.separateRows}
856 addClassesCol.ifEmpty = csc-textpic-firstcol csc-textpic-lastcol
857 addClassesCol.override = csc-textpic-firstcol |*| |*| csc-textpic-lastcol
858 addClassesCol.override.if {
859 isGreaterThan.field = imagecols
863 addClassesImage = csc-textpic-first |*| |*| csc-textpic-last
866 imageStdWrap.dataWrap = <div class="csc-textpic-imagewrap" style="width:{register:totalwidth}px;"> | </div>
867 imageStdWrapNoWidth.wrap = <div class="csc-textpic-imagewrap"> | </div>
869 # if noRows is set, wrap around each column:
870 imageColumnStdWrap.dataWrap = <div class="csc-textpic-imagecolumn" style="width:{register:columnwidth}px;"> | </div>
874 key.field = imageorient
877 default.value = <div class="csc-textpic csc-textpic-center csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div>
880 1.value = <div class="csc-textpic csc-textpic-right csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div>
883 2.value = <div class="csc-textpic csc-textpic-left csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div>
886 8.value = <div class="csc-textpic csc-textpic-center csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div>
889 9.value = <div class="csc-textpic csc-textpic-right csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div>
892 10.value = <div class="csc-textpic csc-textpic-left csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div>
895 17.value = <div class="csc-textpic csc-textpic-intext-right###CLASSES###">###IMAGES######TEXT###</div>
898 18.value = <div class="csc-textpic csc-textpic-intext-left###CLASSES###">###IMAGES######TEXT###</div>
899 # intext-right-nowrap
901 25.value = <div class="csc-textpic csc-textpic-intext-right-nowrap###CLASSES###">###IMAGES######TEXT###</div>
904 26.value = <div class="csc-textpic csc-textpic-intext-left-nowrap###CLASSES###">###IMAGES######TEXT###</div>
908 # Single image - No caption
910 # Choose another rendering for special edge cases
911 fallbackRendering = COA
913 # Single image - Caption
917 isTrue.field = imagecaption
919 equals.data = register:imageCount
921 value = singleCaption
924 # Multiple images and split caption
929 isGreaterThan.data = register:imageCount
930 isTrue.if.isFalse.data = register:renderGlobalCaption
931 isTrue.field = imagecaption
936 # Multiple images and one global caption
941 isGreaterThan.data = register:imageCount
942 isTrue.if.isTrue.data = register:renderGlobalCaption
943 isTrue.field = imagecaption
945 value = globalCaption
948 # Multiple images and no caption at all
953 isGreaterThan.data = register:imageCount
954 isFalse.field = imagecaption
960 wrap = <div class="csc-textpic-imagewrap"> | </div>
961 innerWrap.cObject = CASE
963 key.field = imageorient
966 0.value = <div class="csc-textpic-center-outer"><div class="csc-textpic-center-inner"> | </div></div>
972 wrap = <div class="csc-textpic-image###CLASSES###"> | </div>
974 override = <figure class="csc-textpic-image###CLASSES###"> | </figure>
978 equals.data = TSFE:config|config|doctype
984 noRowsStdWrap.wrap = |
985 lastRowStdWrap.wrap = |
986 columnStdWrap.wrap = |
987 imgTagStdWrap.wrap = |
988 editIconsStdWrap.wrap = <div> | </div>
992 # Multiple images and no caption at all
993 fallbackRendering < tt_content.image.20.rendering.singleNoCaption.fallbackRendering.10
994 allStdWrap.wrap = <div class="csc-textpic-imagewrap"> | </div>
996 wrap = <div class="csc-textpic-image###CLASSES###"> | </div>
998 override = <figure class="csc-textpic-image###CLASSES###"> | </figure>
1001 rowStdWrap.wrap = <div class="csc-textpic-imagerow"> | </div>
1002 noRowsStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-none"> | </div>
1003 lastRowStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last"> | </div>
1004 columnStdWrap.wrap = <div class="csc-textpic-imagecolumn###CLASSES###"> | </div>
1007 # Just one image with a caption
1008 fallbackRendering < tt_content.image.20.rendering.singleNoCaption.fallbackRendering.10
1010 wrap = <div class="csc-textpic-image###CLASSES###"><table>###CAPTION###<tbody><tr><td> | </td></tr></tbody></table></div>
1012 override = <figure class="csc-textpic-image###CLASSES###">|###CAPTION###</figure>
1016 equals.data = TSFE:config|config|doctype
1023 wrap = <caption class="csc-textpic-caption###CLASSES###"> | </caption>
1025 override = <figcaption class="csc-textpic-caption###CLASSES###"> | </figcaption>
1029 equals.data = TSFE:config|config|doctype
1036 fallbackRendering < tt_content.image.20.rendering.singleNoCaption.fallbackRendering.10
1038 wrap = <div class="csc-textpic-image###CLASSES###"><table>###CAPTION###<tbody><tr><td> | </td></tr></tbody></table></div>
1040 override = <figure class="csc-textpic-image###CLASSES###">|###CAPTION###</figure>
1044 equals.data = TSFE:config|config|doctype
1049 rowStdWrap.wrap = <div class="csc-textpic-imagerow"> | </div>
1050 noRowsStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-none"> | </div>
1051 lastRowStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last"> | </div>
1052 columnStdWrap.wrap = <div class="csc-textpic-imagecolumn###CLASSES###"> | </div>
1055 wrap = <caption class="csc-textpic-caption###CLASSES###"> | </caption>
1057 override = <figcaption class="csc-textpic-caption###CLASSES###"> | </figcaption>
1061 equals.data = TSFE:config|config|doctype
1068 # Just one image without a caption
1069 fallbackRendering < tt_content.image.20.rendering.singleNoCaption.fallbackRendering.10
1071 wrap = <div class="csc-textpic-imagewrap"><table>###CAPTION###<tbody> | </tbody></table></div>
1073 override = <figure class="csc-textpic-imagewrap"> | ###CAPTION###</figure>
1077 equals.data = TSFE:config|config|doctype
1083 wrap = <div class="csc-textpic-image###CLASSES###"> | </div>
1085 override = <div class="csc-textpic-image###CLASSES###"> | </div>
1088 rowStdWrap.wrap = <div class="csc-textpic-imagerow"> | </div>
1089 noRowsStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-none"> | </div>
1090 lastRowStdWrap.wrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last"> | </div>
1091 columnStdWrap.wrap = <div class="csc-textpic-imagecolumn###CLASSES###"> | </div>
1094 wrap = <caption class="csc-textpic-caption"> | </caption>
1096 override = <figcaption class="csc-textpic-caption###CLASSES###"> | </figcaption>
1100 equals.data = TSFE:config|config|doctype
1107 renderMethod = singleNoCaption
1109 editIcons = tt_content : image [imageorient|imagewidth|imageheight], [imagecols|image_noRows|imageborder],[image_link|image_zoom],[image_compression|image_effects|image_frames],imagecaption[imagecaption_position]
1110 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.images
1112 caption.editIcons = tt_content : imagecaption[imagecaption_position]
1113 caption.editIcons.beforeLastTag=1
1114 caption.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.caption
1116 stdWrap.prefixComment = 2 | Image block:
1122 tt_content.textpic = COA
1123 tt_content.textpic {
1126 10.if.isLessThan.field = imageorient
1127 10.10 = < lib.stdheader
1129 20 = < tt_content.image.20
1134 if.isGreaterThan.field = imageorient
1135 10 = < lib.stdheader
1136 10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
1138 text.20 = < tt_content.text.20
1139 text.wrap = <div class="csc-textpic-text"> | </div>
1148 tt_content.bullets = COA
1149 tt_content.bullets {
1150 10 = < lib.stdheader
1158 cObjNum = |*|1|| 2|*|
1160 1.parseFunc =< lib.parseFunc
1161 1.wrap = <li class="odd">|</li>
1164 2.parseFunc =< lib.parseFunc
1165 2.wrap = <li class="even">|</li>
1167 dataWrap = <ul class="csc-bulletlist csc-bulletlist-{field:layout}">|</ul>
1168 editIcons = tt_content: bodytext, [layout]
1169 editIcons.beforeLastTag = 1
1170 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.php:eIcon.bullets
1172 prefixComment = 2 | Bullet list:
1180 tt_content.uploads = COA
1181 tt_content.uploads {
1182 10 = < lib.stdheader
1186 # get from file references:
1192 collections.field = file_collections
1194 # get from path (backwards compatibility, contains strings like "fileadmin/user_uploads/")
1195 folders.field = select_key
1197 sorting.field = filelink_sorting
1204 file.import.data = file:current:originalUid // file:current:uid
1208 if.isGreaterThan.field = layout
1211 parameter.data = file:current:originalUid // file:current:uid
1212 parameter.wrap = file:|
1213 fileTarget < lib.parseTarget
1215 fileTarget.override = {$styles.content.uploads.target}
1216 fileTarget.override.override.field = target
1217 removePrependedNumbers = 1
1220 jumpurl = {$styles.content.uploads.jumpurl}
1222 secure = {$styles.content.uploads.jumpurl_secure}
1223 secure.mimeTypes = {$styles.content.uploads.jumpurl_secure_mimeTypes}
1233 file.import = typo3/gfx/fileicons/
1234 file.import.data = file:current:extension
1235 file.import.case = lower
1236 file.import.wrap = |.gif
1240 isGreaterThan.field = layout
1242 # only show the icon if we don't have a thumbnail:
1243 isFalse.cObject = IMG_RESOURCE
1244 isFalse.cObject.file < tt_content.uploads.20.renderObj.10.file
1245 isFalse.cObject.stdWrap.if < tt_content.uploads.20.renderObj.10.stdWrap.if
1248 typolink < tt_content.uploads.20.renderObj.10.stdWrap.typolink
1255 data = file:current:name
1256 htmlSpecialChars = 1
1260 # equivalent to former useSpacesInLinkText = 0; remove using > to disable it
1266 # equivalent to former stripFileExtensionFromLinkText = 0; move "_20" to "20" to enable it. Disabled by default.
1268 search = /(.*)(\..*)/
1274 typolink < tt_content.uploads.20.renderObj.10.stdWrap.typolink
1276 wrap = <span class="csc-uploads-fileName">|</span>
1282 data = file:current:description
1283 htmlSpecialChars = 1
1284 wrap = <span class="csc-uploads-description">|</span>
1292 if.isTrue.field = filelink_size
1293 data = file:current:size
1294 wrap = <span class="csc-uploads-fileSize">|</span>
1296 bytes.labels = {$styles.content.uploads.filesizeBytesLabels}
1299 # wrap of each listed file with odd/even class
1304 oddEvenClass = li-odd li-first |*| li-even || li-odd
1305 elementClass = csc-uploads-element csc-uploads-element-{file:current:extension}
1306 elementClass.insertData = 1
1311 value = <li class="{register:oddEvenClass} {register:elementClass}">|</li>
1314 30 = RESTORE_REGISTER
1318 # wrap around whole content element with <ul> and editIcons
1320 editIcons = tt_content: media, layout [table_bgColor|table_border|table_cellspacing|table_cellpadding], filelink_size
1321 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.filelist
1322 prefixComment = 2 | File list:
1323 dataWrap = <ul class="csc-uploads csc-uploads-{field:layout}">|</ul>
1333 # Rendered by a PHP function specifically written to handle CE tables. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
1334 tt_content.table = COA
1336 10 = < lib.stdheader
1339 20.userFunc = tx_cssstyledcontent_pi1->render_table
1344 1 = {$styles.content.table.backgroundColor.1}
1345 2 = {$styles.content.table.backgroundColor.2}
1347 240 = {$styles.content.table.backgroundColor.240}
1348 241 = {$styles.content.table.backgroundColor.241}
1349 242 = {$styles.content.table.backgroundColor.242}
1350 243 = {$styles.content.table.backgroundColor.243}
1351 244 = {$styles.content.table.backgroundColor.244}
1373 20.innerStdWrap.wrap = |
1374 20.innerStdWrap.parseFunc = < lib.parseFunc
1377 editIcons = tt_content: cols, bodytext, [layout], [table_bgColor|table_border|table_cellspacing|table_cellpadding]
1378 editIcons.beforeLastTag = 1
1379 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.table
1381 prefixComment = 2 | Table:
1385 # ******************
1387 # ******************
1388 tt_content.multimedia = COA
1389 tt_content.multimedia {
1390 10 = < lib.stdheader
1393 20.file.field = multimedia
1394 20.file.wrap = uploads/media/
1396 20.params.field = bodytext
1399 editIcons = tt_content: multimedia, bodytext
1400 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1402 prefixComment = 2 | Multimedia element:
1409 tt_content.swfobject = COA
1410 tt_content.swfobject {
1411 10 = < lib.stdheader
1419 flexParams.field = pi_flexform
1421 alternativeContent.field = bodytext
1423 layout = ###SWFOBJECT###
1426 player = {$styles.content.media.videoPlayer}
1428 defaultWidth = {$styles.content.media.defaultVideoWidth}
1429 defaultHeight = {$styles.content.media.defaultVideoHeight}
1432 params.quality = high
1434 params.allowScriptAccess = sameDomain
1435 params.allowFullScreen = true
1443 player = {$styles.content.media.audioPlayer}
1445 defaultWidth = {$styles.content.media.defaultAudioWidth}
1446 defaultHeight = {$styles.content.media.defaultAudioHeight}
1449 params.quality = high
1450 params.allowScriptAccess = sameDomain
1454 flashvars.file = soundFile
1460 editIcons = tt_content: multimedia, imagewidth, imageheight, pi_flexform, bodytext
1461 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1463 prefixComment = 2 | SWFobject element:
1470 tt_content.qtobject = COA
1471 tt_content.qtobject {
1472 10 = < lib.stdheader
1480 flexParams.field = pi_flexform
1482 alternativeContent.field = bodytext
1484 layout = ###QTOBJECT###
1487 player = {$styles.content.media.videoPlayer}
1489 defaultWidth = {$styles.content.media.defaultVideoWidth}
1490 defaultHeight = {$styles.content.media.defaultVideoHeight}
1493 params.quality = high
1495 params.allowScriptAccess = sameDomain
1496 params.allowFullScreen = true
1504 player = {$styles.content.media.audioPlayer}
1506 defaultWidth = {$styles.content.media.defaultAudioWidth}
1507 defaultHeight = {$styles.content.media.defaultAudioHeight}
1510 params.quality = high
1511 params.allowScriptAccess = sameDomain
1515 flashvars.file = soundFile
1520 editIcons = tt_content: multimedia, imagewidth, imageheight, pi_flexform, bodytext
1521 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1523 prefixComment = 2 | QTobject element:
1530 tt_content.media = COA
1532 10 = < lib.stdheader
1537 flexParams.field = pi_flexform
1538 alternativeContent < tt_content.text.20
1539 alternativeContent.field = bodytext
1563 mimeConf.swfobject < tt_content.swfobject.20
1564 mimeConf.qtobject < tt_content.qtobject.20
1565 mimeConf.flowplayer < tt_content.swfobject.20
1566 mimeConf.flowplayer.audio.player = {$styles.content.media.flowPlayer}
1567 mimeConf.flowplayer.video.player = {$styles.content.media.flowPlayer}
1571 editIcons = tt_content: pi_flexform, bodytext
1572 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1574 prefixComment = 2 | Media element:
1578 # ******************
1580 # ******************
1581 tt_content.mailform = COA
1582 tt_content.mailform.10 = < lib.stdheader
1583 tt_content.mailform.20 = FORM
1584 tt_content.mailform.20 {
1588 dontMd5FieldNames = 1
1589 layout = <div class="csc-mailform-field">###LABEL### ###FIELD###</div>
1591 commentWrap.wrap = |
1592 radioWrap.wrap = |<br />
1593 radioWrap.accessibilityWrap = <fieldset###RADIO_FIELD_ID###><legend>###RADIO_GROUP_LABEL###</legend>|</fieldset>
1595 REQ.labelWrap.wrap = |
1596 COMMENT.layout = <div class="csc-mailform-label">###LABEL###</div>
1597 RADIO.layout = <div class="csc-mailform-field">###LABEL### <span class="csc-mailform-radio">###FIELD###</span></div>
1598 LABEL.layout = <div class="csc-mailform-field">###LABEL### <span class="csc-mailform-label">###FIELD###</span></div>
1599 target < lib.parseTarget
1601 target.override = {$styles.content.mailform.target}
1602 goodMess = {$styles.content.mailform.goodMess}
1603 badMess = {$styles.content.mailform.badMess}
1604 redirect.field = pages
1605 redirect.listNum = 0
1606 recipient.field = subheader
1607 data.field = bodytext
1609 hiddenFields.stdWrap.wrap = <div style="display:none;">|</div>
1611 params.radio = class="csc-mailform-radio"
1612 params.check = class="csc-mailform-check"
1613 params.submit = class="csc-mailform-submit"
1615 stdWrap.wrap = <fieldset class="csc-mailform"> | </fieldset>
1617 editIcons = tt_content: bodytext, pages, subheader
1618 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.form
1620 prefixComment = 2 | Mail form inserted:
1625 # ******************
1627 # ******************
1628 tt_content.search = COA
1629 tt_content.search.10 = < lib.stdheader
1631 tt_content.search.20 = SEARCHRESULT
1632 tt_content.search.20 {
1633 allowedCols = pages.title-subtitle-keywords-description : tt_content.header-bodytext-imagecaption : tt_address.name-title-address-email-company-city-country : tt_links.title-note-note2-url : tt_board.subject-message-author-email : tt_calender.title-note : tt_products.title-note-itemnumber
1634 languageField.tt_content = sys_language_uid
1639 10.field = pages_title
1640 10.htmlSpecialChars = 1
1642 parameter.field = uid
1643 target < lib.parseTarget
1645 target.override = {$styles.content.searchresult.resultTarget}
1646 additionalParams.data = register:SWORD_PARAMS
1647 additionalParams.required = 1
1648 additionalParams.wrap = &no_cache=1
1650 10.htmlSpecialChars = 1
1651 10.wrap = <h3 class="csc-searchResultHeader">|</h3>
1656 10.field = tt_content_bodytext
1658 10.htmlSpecialChars = 1
1660 20.stdWrap.crop = 200 | ...
1661 20.stdWrap.wrap = <p class="csc-searchResult">|</p>
1666 wrap = <table border="0" cellspacing="0" cellpadding="2" class="csc-searchResultInfo"><tr> | </tr></table> ###RESULT###
1669 10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.resultRange
1670 10.wrap = <td class="csc-searchResultRange"><p>|</p></td>
1673 20.value = ###PREV### ###NEXT###
1674 20.wrap = <td class="csc-searchResultPrevNext"><p>|</p></td>
1680 10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.emptySearch
1681 10.wrap = <h3 class="csc-noSearchResultMsg">|</h3>
1685 next.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultNext
1688 prev.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultPrev
1690 target < lib.parseTarget
1692 target.override = {$styles.content.searchresult.target}
1696 stdWrap.prefixComment = 2 | Search result:
1700 tt_content.search.30 < tt_content.mailform.20
1701 tt_content.search.30 {
1702 goodMess = {$styles.content.searchform.goodMess}
1707 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchWord
1708 10.type = sword=input
1709 20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchIn
1710 20.type = scols=select
1712 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.headersKeywords
1713 10.value = pages.title-subtitle-keywords-description:tt_content.header
1714 20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.pageContent
1715 20.value = tt_content.header-bodytext-imagecaption
1717 30.type = stype=hidden
1719 40.type = submit=submit
1720 40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchButton
1724 locationData = HTTP_POST_VARS
1727 stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" class="csc-searchform"> | </table>
1729 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.search
1731 prefixComment = 2 | Search form inserted:
1739 tt_content.menu = COA
1741 10 = < lib.stdheader
1745 key.field = menu_type
1747 # "Menu of these pages"
1751 special.value.field = pages
1756 if.isTrue.field = accessibility_bypass
1760 accessibility_bypass_text = TEXT
1761 accessibility_bypass_text {
1762 field = accessibility_bypass_text
1772 dataWrap = sorting>{field:sorting}
1774 languageField = sys_language_uid
1780 data = LLL:EXT:css_styled_content/pi1/locallang.xml:menu.bypassNavigation
1781 override.data = register:accessibility_bypass_text
1783 htmlSpecialChars = 1
1792 wrap = <li class="csc-nav-bypass">|</li>
1795 30 = RESTORE_REGISTER
1797 outerWrap = <ul class="csc-menu csc-menu-def">|</ul>
1802 target < lib.parseTarget
1804 target.override = {$PAGE_TARGET}
1806 stdWrap.htmlSpecialChars = 1
1807 wrapItemAndSub = <li>|</li>
1808 ATagTitle.field = description // title
1813 # "Menu of subpages to these pages"
1818 outerWrap = <ul class="csc-menu csc-menu-1">|</ul>
1822 # "Sitemap - liststyle"
1825 stdWrap < tt_content.menu.20.default.stdWrap
1827 outerWrap = <div class="csc-sitemap">|</div>
1831 target < lib.parseTarget
1833 target.override = {$PAGE_TARGET}
1837 stdWrap.htmlSpecialChars = 1
1838 wrapItemAndSub = <li>|</li>
1839 ATagTitle.field = description // title
1850 # "Section index (pagecontent w/Index checked - liststyle)"
1858 isFalse.field = pages
1864 outerWrap = <ul class="csc-menu csc-menu-3">|</ul>
1869 sectionIndex.type = header
1870 NO.wrapItemAndSub = <li class="csc-section">|</li>
1874 # "Menu of subpages to these pages (with abstract)"
1878 prepend.renderObj.wrap = <dt class="csc-nav-bypass">|</dt><dd> </dd>
1879 outerWrap = <dl class="csc-menu csc-menu-4">|</dl>
1883 linkWrap = <dt>|</dt>
1887 data = field : abstract // field : description // field : subtitle
1888 htmlSpecialChars = 1
1894 ATagTitle.field = description // title
1898 # "Recently updated pages"
1902 outerWrap = <ul class="csc-menu csc-menu-5">|</ul>
1907 excludeNoSearchPages = 1
1911 # "Related pages (based on keywords)"
1915 outerWrap = <ul class="csc-menu csc-menu-6">|</ul>
1919 excludeNoSearchPages = 1
1923 # "Menu of subpages to these pages + sections - liststyle"
1927 outerWrap = <ul class="csc-menu csc-menu-7">|</ul>
1933 sectionIndex.type = header
1935 NO.wrapItemAndSub = <li class="csc-section">|</li>
1939 # "Sitemaps of selected pages - liststyle"
1943 special.value.field = pages
1946 # Menu of categorized pages
1949 special = categories
1950 special.value.field = selected_categories
1951 special.sorting = title
1954 outerWrap = <ul class="csc-menu csc-menu-9">|</ul>
1965 field = accessibility_title
1966 htmlSpecialChars = 1
1967 dataWrap = <map id="map{field:uid}" title="|">
1969 override = <map name="map{field:uid}" title="|">
1972 isFalse.data = TSFE:xhtmlDoctype
1985 field = accessibility_title
1989 editIcons = tt_content: menu_type, pages
1990 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.menuSitemap
1992 prefixComment = 2 | Menu/Sitemap element:
2001 # Should be a complete copy from the old static template "content (default)"
2002 tt_content.shortcut = COA
2003 tt_content.shortcut {
2005 20.key.field = layout
2008 source.field = records
2009 tables = {$content.shortcut.tables}
2013 source.field = records
2014 tables = {$content.shortcut.tables}
2018 editIcons = tt_content: records
2019 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList
2021 prefixComment = 2 | Inclusion of other records (by reference):
2029 # Should be a complete copy from the old static template "content (default)" (except "lib.stdheader")
2030 tt_content.list = COA
2032 10 = < lib.stdheader
2035 20.key.field = list_type
2038 editIcons = tt_content: list_type, layout, select_key, pages [recursive]
2039 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.plugin
2041 prefixComment = 2 | Plugin inserted:
2049 tt_content.div = TEXT
2054 isTrue.data = TSFE:xhtmlDoctype
2056 wrap = <div class="divider">|</div>
2057 prefixComment = 2 | Div element
2064 # This truely IS a content object, launched from inside the PHP class of course.
2065 # Should be a complete copy from the old static template "content (default)"
2066 tt_content.html = TEXT
2070 editIcons = tt_content: pages
2071 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.html
2073 prefixComment = 2 | Raw HTML content:
2078 # Default error msg:
2080 tt_content.default = TEXT
2081 tt_content.default {
2083 wrap = <p style="background-color: yellow;"><b>ERROR:</b> Content Element type "|" has no rendering definition!</p>
2085 prefixComment = 2 | Unknown element message:
2088 # *********************************************************************
2090 # *********************************************************************
2098 plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE (
2100 .csc-header-alignment-center { text-align: center; }
2101 .csc-header-alignment-right { text-align: right; }
2102 .csc-header-alignment-left { text-align: left; }
2104 /* Clear floats after csc-textpic and after csc-textpic-imagerow */
2105 DIV.csc-textpic, DIV.csc-textpic DIV.csc-textpic-imagerow, UL.csc-uploads LI { overflow: hidden; }
2107 /* Set padding for tables */
2108 DIV.csc-textpic .csc-textpic-imagewrap table { border-collapse: collapse; border-spacing: 0; }
2109 DIV.csc-textpic .csc-textpic-imagewrap table tr td { padding: 0; vertical-align: top; }
2111 /* Settings for figure and figcaption (HTML5) */
2112 DIV.csc-textpic .csc-textpic-imagewrap FIGURE, DIV.csc-textpic FIGURE.csc-textpic-imagewrap { margin: 0; display: table; }
2115 FIGCAPTION.csc-textpic-caption { display: table-caption; }
2116 .csc-textpic-caption { text-align: left; caption-side: bottom; }
2117 DIV.csc-textpic-caption-c .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-c { text-align: center; }
2118 DIV.csc-textpic-caption-r .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-r { text-align: right; }
2119 DIV.csc-textpic-caption-l .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-l { text-align: left; }
2121 /* Float the columns */
2122 DIV.csc-textpic DIV.csc-textpic-imagecolumn { float: left; }
2124 /* Border just around the image */
2125 {$styles.content.imgtext.borderSelector} {
2126 border: {$styles.content.imgtext.borderThick}px solid {$styles.content.imgtext.borderColor};
2127 padding: {$styles.content.imgtext.borderSpace}px {$styles.content.imgtext.borderSpace}px;
2130 DIV.csc-textpic .csc-textpic-imagewrap IMG { border: none; display: block; }
2132 /* Space below each image (also in-between rows) */
2133 DIV.csc-textpic .csc-textpic-imagewrap .csc-textpic-image { margin-bottom: {$styles.content.imgtext.rowSpace}px; }
2134 DIV.csc-textpic .csc-textpic-imagewrap .csc-textpic-imagerow-last .csc-textpic-image { margin-bottom: 0; }
2136 /* colSpace around image columns, except for last column */
2137 DIV.csc-textpic-imagecolumn, TD.csc-textpic-imagecolumn .csc-textpic-image { margin-right: {$styles.content.imgtext.colSpace}px; }
2138 DIV.csc-textpic-imagecolumn.csc-textpic-lastcol, TD.csc-textpic-imagecolumn.csc-textpic-lastcol .csc-textpic-image { margin-right: 0; }
2140 /* Add margin from image-block to text (in case of "Text w/ images") */
2141 DIV.csc-textpic-intext-left .csc-textpic-imagewrap,
2142 DIV.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap {
2143 margin-right: {$styles.content.imgtext.textMargin}px;
2145 DIV.csc-textpic-intext-right .csc-textpic-imagewrap,
2146 DIV.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap {
2147 margin-left: {$styles.content.imgtext.textMargin}px;
2150 /* Positioning of images: */
2152 /* Center (above or below) */
2153 DIV.csc-textpic-center .csc-textpic-imagewrap, DIV.csc-textpic-center FIGURE.csc-textpic-imagewrap { overflow: hidden; }
2154 DIV.csc-textpic-center .csc-textpic-center-outer { position: relative; float: right; right: 50%; }
2155 DIV.csc-textpic-center .csc-textpic-center-inner { position: relative; float: right; right: -50%; }
2157 /* Right (above or below) */
2158 DIV.csc-textpic-right .csc-textpic-imagewrap { float: right; }
2159 DIV.csc-textpic-right DIV.csc-textpic-text { clear: right; }
2161 /* Left (above or below) */
2162 DIV.csc-textpic-left .csc-textpic-imagewrap { float: left; }
2163 DIV.csc-textpic-left DIV.csc-textpic-text { clear: left; }
2165 /* Left (in text) */
2166 DIV.csc-textpic-intext-left .csc-textpic-imagewrap { float: left; }
2168 /* Right (in text) */
2169 DIV.csc-textpic-intext-right .csc-textpic-imagewrap { float: right; }
2171 /* Right (in text, no wrap around) */
2172 DIV.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap { float: right; }
2174 /* Left (in text, no wrap around) */
2175 DIV.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap { float: left; }
2177 DIV.csc-textpic DIV.csc-textpic-imagerow-last, DIV.csc-textpic DIV.csc-textpic-imagerow-none DIV.csc-textpic-last { margin-bottom: 0; }
2179 /* Browser fixes: */
2181 /* Fix for unordered and ordered list with image "In text, left" */
2182 .csc-textpic-intext-left ol, .csc-textpic-intext-left ul { padding-left: 40px; overflow: auto; }
2185 UL.csc-uploads { padding: 0; }
2186 UL.csc-uploads LI { list-style: none outside none; margin: 1em 0; }
2187 UL.csc-uploads IMG { float: left; padding-right: 1em; vertical-align: top; }
2188 UL.csc-uploads SPAN { display: block; }
2189 UL.csc-uploads SPAN.csc-uploads-fileName { text-decoration: underline; }
2191 /* Table background colors: */
2193 TABLE.contenttable-color-1 { background-color: {$styles.content.table.backgroundColor.1}; }
2194 TABLE.contenttable-color-2 { background-color: {$styles.content.table.backgroundColor.2}; }
2195 TABLE.contenttable-color-240 { background-color: {$styles.content.table.backgroundColor.240}; }
2196 TABLE.contenttable-color-241 { background-color: {$styles.content.table.backgroundColor.241}; }
2197 TABLE.contenttable-color-242 { background-color: {$styles.content.table.backgroundColor.242}; }
2198 TABLE.contenttable-color-243 { background-color: {$styles.content.table.backgroundColor.243}; }
2199 TABLE.contenttable-color-244 { background-color: {$styles.content.table.backgroundColor.244}; }