[BUGFIX] Correct old naming "Text w/image" into "Text & Images"
[Packages/TYPO3.CMS.git] / typo3 / sysext / css_styled_content / static / v4.5 / setup.txt
1 # ***************************************************************************
2 # Notice: "styles." (and "temp.") objects are UNSET after template parsing!
3 # Use "lib." for persisting storage of objects.
4 # ***************************************************************************
5
6 # Clear out any constants in this reserved room!
7 styles.content >
8
9 # get content
10 styles.content.get = CONTENT
11 styles.content.get {
12 table = tt_content
13 select.orderBy = sorting
14 select.where = colPos=0
15 select.languageField = sys_language_uid
16 }
17
18 # get content, left
19 styles.content.getLeft < styles.content.get
20 styles.content.getLeft.select.where = colPos=1
21
22 # get content, right
23 styles.content.getRight < styles.content.get
24 styles.content.getRight.select.where = colPos=2
25
26 # get content, margin
27 styles.content.getBorder < styles.content.get
28 styles.content.getBorder.select.where = colPos=3
29
30 # get news
31 styles.content.getNews < styles.content.get
32 styles.content.getNews.select.pidInList = {$styles.content.getNews.newsPid}
33
34 # Edit page object:
35 styles.content.editPanelPage = COA
36 styles.content.editPanelPage {
37 10 = EDITPANEL
38 10 {
39 allow = toolbar,move,hide
40 label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.page
41 label.wrap = |&nbsp;<b>%s</b>
42 }
43 }
44
45
46
47
48
49
50
51
52
53
54
55 # *********************************************************************
56 # "lib." objects are preserved from unsetting after template parsing
57 # *********************************************************************
58
59 # Creates persistent ParseFunc setup for non-HTML content. This is recommended to use (as a reference!)
60 lib.parseFunc {
61 makelinks = 1
62 makelinks.http.keep = {$styles.content.links.keep}
63 makelinks.http.extTarget = {$styles.content.links.extTarget}
64 makelinks.mailto.keep = path
65 tags {
66 link = TEXT
67 link {
68 current = 1
69 typolink.parameter.data = parameters : allParams
70 typolink.extTarget = {$styles.content.links.extTarget}
71 typolink.target = {$styles.content.links.target}
72 parseFunc.constants =1
73 }
74 }
75 allowTags = {$styles.content.links.allowTags}
76 denyTags = *
77 sword = <span class="csc-sword">|</span>
78 constants = 1
79
80 nonTypoTagStdWrap.HTMLparser = 1
81 nonTypoTagStdWrap.HTMLparser {
82 keepNonMatchedTags = 1
83 htmlSpecialChars = 2
84 }
85 }
86
87 # good old parsefunc in "styles.content.parseFunc" is created for backwards compatibility. Don't use it, just ignore.
88 styles.content.parseFunc < lib.parseFunc
89
90 # Creates persistent ParseFunc setup for RTE content (which is mainly HTML) based on the "ts_css" transformation.
91 lib.parseFunc_RTE < lib.parseFunc
92 lib.parseFunc_RTE {
93 // makelinks >
94 # Processing <table> and <blockquote> blocks separately
95 externalBlocks = table, blockquote, dd, dl, ol,ul, div
96 externalBlocks {
97 # The blockquote content is passed into parseFunc again...
98 blockquote.stripNL=1
99 blockquote.callRecursive=1
100 blockquote.callRecursive.tagStdWrap.HTMLparser = 1
101 blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"
102
103 ol.stripNL=1
104 ol.stdWrap.parseFunc = < lib.parseFunc
105
106 ul.stripNL=1
107 ul.stdWrap.parseFunc = < lib.parseFunc
108
109 table.stripNL=1
110 table.stdWrap.HTMLparser = 1
111 table.stdWrap.HTMLparser.tags.table.fixAttrib.class {
112 default = contenttable
113 always = 1
114 list = contenttable
115 }
116 table.stdWrap.HTMLparser.keepNonMatchedTags = 1
117 table.HTMLtableCells=1
118 table.HTMLtableCells {
119 default.callRecursive=1
120 addChr10BetweenParagraphs=1
121 }
122 div.stripNL = 1
123 div.callRecursive = 1
124
125 # Definition list processing
126 dl < .div
127 dd < .div
128 }
129 nonTypoTagStdWrap.encapsLines {
130 encapsTagList = p,pre,h1,h2,h3,h4,h5,h6,hr,dt
131 remapTag.DIV = P
132 nonWrappedTag = P
133 innerStdWrap_all.ifBlank = &nbsp;
134 addAttributes.P.class = bodytext
135 addAttributes.P.class.setOnly=blank
136 }
137 nonTypoTagStdWrap.HTMLparser = 1
138 nonTypoTagStdWrap.HTMLparser {
139 keepNonMatchedTags = 1
140 htmlSpecialChars = 2
141 }
142 }
143
144
145 # Content header:
146 lib.stdheader = COA
147 lib.stdheader {
148
149 # Create align style-attribute for <Hx> tags
150 2 = LOAD_REGISTER
151 2.headerStyle.field = header_position
152 2.headerStyle.required = 1
153 2.headerStyle.noTrimWrap = | style="text-align:|;"|
154
155 # Create class="csc-firstHeader" attribute for <Hx> tags
156 3 = LOAD_REGISTER
157 3.headerClass = csc-firstHeader
158 3.headerClass.if.value=1
159 3.headerClass.if.equals.data = cObj:parentRecordNumber
160 3.headerClass.noTrimWrap = | class="|"|
161
162 # Date format:
163 5 = TEXT
164 5.field = date
165 5.if.isTrue.field = date
166 5.strftime = %x
167 5.wrap = <p class="csc-header-date">|</p>
168 5.prefixComment = 2 | Header date:
169
170 # This CASE cObject renders the header content:
171 # currentValue is set to the header data, possibly wrapped in link-tags.
172 10 = CASE
173 10.setCurrent {
174 field = header
175 htmlSpecialChars = 1
176 typolink.parameter.field = header_link
177 }
178 10.key.field = header_layout
179 10.key.ifEmpty = {$content.defaultHeaderType}
180 10.key.ifEmpty.override.data = register: defaultHeaderType
181
182 10.1 = TEXT
183 10.1.current = 1
184 10.1.dataWrap = <h1{register:headerStyle}{register:headerClass}>|</h1>
185
186 10.2 < .10.1
187 10.2.dataWrap = <h2{register:headerStyle}{register:headerClass}>|</h2>
188
189 10.3 < .10.1
190 10.3.dataWrap = <h3{register:headerStyle}{register:headerClass}>|</h3>
191
192 10.4 < .10.1
193 10.4.dataWrap = <h4{register:headerStyle}{register:headerClass}>|</h4>
194
195 10.5 < .10.1
196 10.5.dataWrap = <h5{register:headerStyle}{register:headerClass}>|</h5>
197
198 # Pops the used registers off the stack:
199 98 = RESTORE_REGISTER
200 99 = RESTORE_REGISTER
201
202 # Post-processing:
203 stdWrap.fieldRequired = header
204 stdWrap.if {
205 equals.field = header_layout
206 value = 100
207 negate = 1
208 }
209
210 stdWrap.editIcons = tt_content : header, [header_layout | header_position], [header_link|date]
211 stdWrap.editIcons.beforeLastTag = 1
212 stdWrap.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.header
213
214 stdWrap.dataWrap = <div class="csc-header csc-header-n{cObj:parentRecordNumber}">|</div>
215 stdWrap.prefixComment = 2 | Header:
216 }
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232 #******************************************************
233 # Including library for processing of some elements:
234 #******************************************************
235 includeLibs.tx_cssstyledcontent_pi1 = EXT:css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
236
237
238 #**********************************
239 # tt_content is started
240 #**********************************
241 tt_content >
242 tt_content = CASE
243 tt_content.key.field = CType
244 tt_content.stdWrap {
245 innerWrap.cObject = CASE
246 innerWrap.cObject {
247 key.field = section_frame
248
249 default = COA
250 default {
251 10 = TEXT
252 10 {
253 value = <div id="c{field:uid}"
254 override.cObject = TEXT
255 override.cObject {
256 value = <div
257 if.value = div
258 if.equals.field = CType
259 }
260 insertData = 1
261 }
262
263 15 = TEXT
264 15 {
265 value = csc-default
266 noTrimWrap = | class="|" |
267 required = 1
268 }
269
270 20 = COA
271 20 {
272 10 = COA
273 10 {
274 10 = TEXT
275 10 {
276 value = {$content.spaceBefore}
277 wrap = |+
278 if.isTrue = {$content.spaceBefore}
279 }
280
281 20 = TEXT
282 20 {
283 field = spaceBefore
284 }
285
286 stdWrap {
287 prioriCalc = intval
288 wrap = margin-top:|px;
289 required = 1
290 ifEmpty.value =
291 }
292 }
293
294 20 = COA
295 20 {
296 10 = TEXT
297 10 {
298 value = {$content.spaceAfter}
299 wrap = |+
300 if.isTrue = {$content.spaceAfter}
301 }
302
303 20 = TEXT
304 20 {
305 field = spaceAfter
306 }
307
308 stdWrap {
309 prioriCalc = intval
310 wrap = margin-bottom:|px;
311 required = 1
312 ifEmpty.value =
313 }
314 }
315
316 stdWrap.noTrimWrap = | style="|" |
317 stdWrap.required = 1
318 }
319 30 = TEXT
320 30.value = >|</div>
321 }
322
323 1 =< tt_content.stdWrap.innerWrap.cObject.default
324 1.15.value = csc-frame csc-frame-invisible
325
326 5 =< tt_content.stdWrap.innerWrap.cObject.default
327 5.15.value = csc-frame csc-frame-rulerBefore
328
329 6 =< tt_content.stdWrap.innerWrap.cObject.default
330 6.15.value = csc-frame csc-frame-rulerAfter
331
332 10 =< tt_content.stdWrap.innerWrap.cObject.default
333 10.15.value = csc-frame csc-frame-indent
334
335 11 =< tt_content.stdWrap.innerWrap.cObject.default
336 11.15.value = csc-frame csc-frame-indent3366
337
338 12 =< tt_content.stdWrap.innerWrap.cObject.default
339 12.15.value = csc-frame csc-frame-indent6633
340
341 20 =< tt_content.stdWrap.innerWrap.cObject.default
342 20.15.value = csc-frame csc-frame-frame1
343
344 21 =< tt_content.stdWrap.innerWrap.cObject.default
345 21.15.value = csc-frame csc-frame-frame2
346
347 66 = COA
348 66 {
349 10 = TEXT
350 10 {
351 value = <a id="c{field:uid}"></a>
352 insertData = 1
353 }
354
355 20 = COA
356 20 {
357 10 = TEXT
358 10 {
359 value = {$content.spaceBefore}
360 wrap = |+
361 if.isTrue = {$content.spaceBefore}
362 }
363
364 20 = TEXT
365 20 {
366 field = spaceBefore
367 }
368
369 stdWrap {
370 prioriCalc = intval
371 wrap = margin-top:|px;
372 required = 1
373 ifEmpty.value =
374 wrap2 = <div style="|"></div>
375 }
376 }
377
378 30 = TEXT
379 30 {
380 value = |
381 }
382
383 40 < .20
384 40 {
385 10 {
386 value = {$content.spaceAfter}
387 if.isTrue = {$content.spaceAfter}
388 }
389 20.field = spaceAfter
390 stdWrap.wrap = margin-bottom:|px;
391 }
392 }
393
394 }
395
396 innerWrap2 = | <p class="csc-linkToTop"><a href="#">{LLL:EXT:css_styled_content/pi1/locallang.xml:label.toTop}</a></p>
397 innerWrap2.insertData = 1
398 innerWrap2.fieldRequired = linkToTop
399
400 prepend = TEXT
401 prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
402 prepend.if.isTrue.field = _LOCALIZED_UID
403
404 editPanel = 1
405 editPanel {
406 allow = move,new,edit,hide,delete
407 line = 5
408 label = %s
409 onlyCurrentPid = 1
410 previewBorder = 4
411 edit.displayRecord = 1
412 }
413
414 prefixComment = 1 | CONTENT ELEMENT, uid:{field:uid}/{field:CType}
415 }
416
417
418
419 # *****************
420 # CType: header
421 # *****************
422 # See Object path "lib.stdheader"
423 tt_content.header = COA
424 tt_content.header {
425 10 = < lib.stdheader
426
427 20 = TEXT
428 20 {
429 field = subheader
430 required = 1
431
432 dataWrap = <p class="csc-subheader csc-subheader-{field:layout}">|</p>
433 htmlSpecialChars = 1
434
435 editIcons = tt_content:subheader,layout
436 editIcons.beforeLastTag = 1
437 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.subheader
438
439 prefixComment = 2 | Subheader:
440 }
441 }
442
443
444
445 # *****************
446 # CType: text
447 # *****************
448 tt_content.text = COA
449 tt_content.text {
450 10 = < lib.stdheader
451
452 20 = TEXT
453 20 {
454 field = bodytext
455 required = 1
456
457 parseFunc = < lib.parseFunc_RTE
458
459 editIcons = tt_content:bodytext, rte_enabled
460 editIcons.beforeLastTag = 1
461 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext
462
463 prefixComment = 2 | Text:
464 }
465 }
466
467
468
469 # *****************
470 # CType: image
471 # *****************
472 # (also used for rendering 'textpic' type):
473 tt_content.image = COA
474 tt_content.image.10 = < lib.stdheader
475 tt_content.image.20 = USER
476 tt_content.image.20 {
477 userFunc = tx_cssstyledcontent_pi1->render_textpic
478
479 # Image source
480 imgList.field = image
481 imgPath = uploads/pics/
482
483 # Single image rendering
484 imgObjNum = 1
485 1 {
486 file.import.current = 1
487 file.width.field = imagewidth
488 imageLinkWrap = 1
489 imageLinkWrap {
490 bodyTag = <body style="margin:0; background:#fff;">
491 wrap = <a href="javascript:close();"> | </a>
492 width = {$styles.content.imgtext.linkWrap.width}
493 height = {$styles.content.imgtext.linkWrap.height}
494 effects = {$styles.content.imgtext.linkWrap.effects}
495
496 JSwindow = 1
497 JSwindow.newWindow = {$styles.content.imgtext.linkWrap.newWindow}
498 JSwindow.if.isFalse = {$styles.content.imgtext.linkWrap.lightboxEnabled}
499
500 directImageLink = {$styles.content.imgtext.linkWrap.lightboxEnabled}
501
502 enable.field = image_zoom
503 enable.ifEmpty.typolink.parameter.field = image_link
504 enable.ifEmpty.typolink.parameter.listNum.splitChar = 10
505 enable.ifEmpty.typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
506 enable.ifEmpty.typolink.returnLast = url
507
508 typolink.parameter.field = image_link
509 typolink.parameter.listNum.splitChar = 10
510 typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
511 typolink.target = {$styles.content.links.target}
512 typolink.extTarget = {$styles.content.links.extTarget}
513
514 linkParams.ATagParams.dataWrap = class="{$styles.content.imgtext.linkWrap.lightboxCssClass}" rel="{$styles.content.imgtext.linkWrap.lightboxRelAttribute}"
515 }
516
517 altText = TEXT
518 altText {
519 field = altText
520 stripHtml = 1
521 split.token.char = 10
522 split.token.if.isTrue = {$styles.content.imgtext.imageTextSplit}
523 split.returnKey.data = register : IMAGE_NUM_CURRENT
524 }
525
526 titleText < .altText
527 titleText.field = titleText
528
529 longdescURL < .altText
530 longdescURL.field = longdescURL
531
532 emptyTitleHandling = {$styles.content.imgtext.emptyTitleHandling}
533 titleInLink = {$styles.content.imgtext.titleInLink}
534 titleInLinkAndImg = {$styles.content.imgtext.titleInLinkAndImg}
535 }
536
537 textPos.field = imageorient
538 maxW = {$styles.content.imgtext.maxW}
539 maxW.override.data = register:maxImageWidth
540 maxWInText = {$styles.content.imgtext.maxWInText}
541 maxWInText.override.data = register:maxImageWidthInText
542
543 equalH.field = imageheight
544
545 image_compression.field = image_compression
546 image_effects.field = image_effects
547
548 noRows.field = image_noRows
549
550 cols.field = imagecols
551 border.field = imageborder
552
553 caption {
554 1 = TEXT
555 1 {
556 field = imagecaption
557 required = 1
558 parseFunc =< lib.parseFunc
559 br = 1
560 split.token.char = 10
561 split.token.if.isPositive = {$styles.content.imgtext.imageTextSplit} + {$styles.content.imgtext.captionSplit}
562 split.returnKey.data = register : IMAGE_NUM_CURRENT
563 }
564 }
565 # captionSplit is deprecated, use imageTextSplit instead
566 captionSplit = {$styles.content.imgtext.captionSplit}
567 captionAlign.field = imagecaption_position
568 # caption/alttext/title/longdescURL splitting
569 imageTextSplit = {$styles.content.imgtext.imageTextSplit}
570
571 borderCol = {$styles.content.imgtext.borderColor}
572 borderThick = {$styles.content.imgtext.borderThick}
573 borderClass = {$styles.content.imgtext.borderClass}
574 colSpace = {$styles.content.imgtext.colSpace}
575 rowSpace = {$styles.content.imgtext.rowSpace}
576 textMargin = {$styles.content.imgtext.textMargin}
577
578 borderSpace = {$styles.content.imgtext.borderSpace}
579 separateRows = {$styles.content.imgtext.separateRows}
580 addClasses =
581 addClassesImage =
582 addClassesImage.ifEmpty = csc-textpic-firstcol csc-textpic-lastcol
583 addClassesImage.override = csc-textpic-firstcol |*| |*| csc-textpic-lastcol
584 addClassesImage.override.if {
585 isGreaterThan.field = imagecols
586 value = 1
587 }
588
589 #
590 imageStdWrap.dataWrap = <div class="csc-textpic-imagewrap" style="width:{register:totalwidth}px;"> | </div>
591 imageStdWrapNoWidth.wrap = <div class="csc-textpic-imagewrap"> | </div>
592
593 # if noRows is set, wrap around each column:
594 imageColumnStdWrap.dataWrap = <div class="csc-textpic-imagecolumn" style="width:{register:columnwidth}px;"> | </div>
595
596 layout = CASE
597 layout {
598 key.field = imageorient
599 # above-center
600 default = TEXT
601 default.value = <div class="csc-textpic csc-textpic-center csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div><div class="csc-textpic-clear"><!-- --></div>
602 # above-right
603 1 = TEXT
604 1.value = <div class="csc-textpic csc-textpic-right csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div><div class="csc-textpic-clear"><!-- --></div>
605 # above-left
606 2 = TEXT
607 2.value = <div class="csc-textpic csc-textpic-left csc-textpic-above###CLASSES###">###IMAGES######TEXT###</div><div class="csc-textpic-clear"><!-- --></div>
608 # below-center
609 8 = TEXT
610 8.value = <div class="csc-textpic csc-textpic-center csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div><div class="csc-textpic-clear"><!-- --></div>
611 # below-right
612 9 = TEXT
613 9.value = <div class="csc-textpic csc-textpic-right csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div><div class="csc-textpic-clear"><!-- --></div>
614 # below-left
615 10 = TEXT
616 10.value = <div class="csc-textpic csc-textpic-left csc-textpic-below###CLASSES###">###TEXT######IMAGES###</div><div class="csc-textpic-clear"><!-- --></div>
617 # intext-right
618 17 = TEXT
619 17.value = <div class="csc-textpic csc-textpic-intext-right###CLASSES###">###IMAGES######TEXT###</div>
620 17.override = <div class="csc-textpic csc-textpic-intext-right###CLASSES###">###IMAGES######TEXT###</div><div class="csc-textpic-clear"><!-- --></div>
621 17.override.if.isTrue = {$styles.content.imgtext.addIntextClearer}
622 # intext-left
623 18 = TEXT
624 18.value = <div class="csc-textpic csc-textpic-intext-left###CLASSES###">###IMAGES######TEXT###</div>
625 18.override = <div class="csc-textpic csc-textpic-intext-left###CLASSES###">###IMAGES######TEXT###</div><div class="csc-textpic-clear"><!-- --></div>
626 18.override.if.isTrue = {$styles.content.imgtext.addIntextClearer}
627 # intext-right-nowrap
628 25 = TEXT
629 25.value = <div class="csc-textpic csc-textpic-intext-right-nowrap###CLASSES###">###IMAGES###<div style="margin-right:{register:rowWidthPlusTextMargin}px;">###TEXT###</div></div><div class="csc-textpic-clear"><!-- --></div>
630 25.insertData = 1
631 # intext-left-nowrap
632 26 = TEXT
633 26.value = <div class="csc-textpic csc-textpic-intext-left-nowrap###CLASSES###">###IMAGES###<div style="margin-left:{register:rowWidthPlusTextMargin}px;">###TEXT###</div></div><div class="csc-textpic-clear"><!-- --></div>
634 26.insertData = 1
635 }
636
637 rendering {
638 dl {
639 # Choose another rendering for special edge cases
640 fallbackRendering = COA
641 fallbackRendering {
642 # Just one image without a caption => don't need the dl-overhead, use the "simple" rendering
643 10 = TEXT
644 10 {
645 if {
646 isFalse.field = imagecaption
647 value = 1
648 equals.data = register:imageCount
649 }
650 value = simple
651 }
652
653 # Multiple images and one global caption => "ul"
654 20 = TEXT
655 20 {
656 if {
657 value = 1
658 isGreaterThan.data = register:imageCount
659 isTrue.if.isTrue.data = register:renderGlobalCaption
660 isTrue.field = imagecaption
661 }
662 value = ul
663 }
664
665 # Multiple images and no caption at all => "ul"
666 30 = TEXT
667 30 {
668 if {
669 value = 1
670 isGreaterThan.data = register:imageCount
671 isFalse.field = imagecaption
672 }
673 value = ul
674 }
675 }
676 imageRowStdWrap.dataWrap = <div class="csc-textpic-imagerow" style="width:{register:rowwidth}px;"> | </div>
677 imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last" style="width:{register:rowwidth}px;"> | </div>
678 noRowsStdWrap.wrap =
679 oneImageStdWrap.dataWrap = <dl class="csc-textpic-image###CLASSES###" style="width:{register:imagespace}px;"> | </dl>
680 imgTagStdWrap.wrap = <dt> | </dt>
681 editIconsStdWrap.wrap = <dd> | </dd>
682 caption {
683 required = 1
684 wrap = <dd class="csc-textpic-caption"> | </dd>
685 }
686 }
687 ul {
688 # Just one image without a caption => don't need the ul-overhead, use the "simple" rendering
689 fallbackRendering < tt_content.image.20.rendering.dl.fallbackRendering.10
690 imageRowStdWrap.dataWrap = <div class="csc-textpic-imagerow" style="width:{register:rowwidth}px;"><ul> | </ul></div>
691 imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last" style="width:{register:rowwidth}px;"><ul> | </ul></div>
692 noRowsStdWrap.wrap = <ul> | </ul>
693 oneImageStdWrap.dataWrap = <li class="csc-textpic-image###CLASSES###" style="width:{register:imagespace}px;"> | </li>
694 imgTagStdWrap.wrap =
695 editIconsStdWrap.wrap = <div> | </div>
696 caption.wrap = <div class="csc-textpic-caption"> | </div>
697 }
698 div {
699 # Just one image without a caption => don't need the div-overhead, use the "simple" rendering
700 fallbackRendering < tt_content.image.20.rendering.dl.fallbackRendering.10
701 imageRowStdWrap.dataWrap = <div class="csc-textpic-imagerow" style="width:{register:rowwidth}px;"> | </div>
702 imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last" style="width:{register:rowwidth}px;"> | </div>
703 noRowsStdWrap.wrap =
704 oneImageStdWrap.dataWrap = <div class="csc-textpic-image###CLASSES###" style="width:{register:imagespace}px;"> | </div>
705 imgTagStdWrap.wrap = <div> | </div>
706 editIconsStdWrap.wrap = <div> | </div>
707 caption.wrap = <div class="csc-textpic-caption"> | </div>
708 }
709 simple {
710 imageRowStdWrap.dataWrap = |
711 imageLastRowStdWrap.dataWrap = |
712 noRowsStdWrap.wrap =
713 oneImageStdWrap.dataWrap = |
714 imgTagStdWrap.wrap = |
715 editIconsStdWrap.wrap = |
716 caption.wrap = <div class="csc-textpic-caption"> | </div>
717 imageStdWrap.dataWrap = <div class="csc-textpic-imagewrap csc-textpic-single-image" style="width:{register:totalwidth}px;"> | </div>
718 imageStdWrapNoWidth.wrap = <div class="csc-textpic-imagewrap csc-textpic-single-image"> | </div>
719 }
720 }
721 renderMethod = dl
722
723 editIcons = tt_content : image [imageorient|imagewidth|imageheight], [imagecols|image_noRows|imageborder],[image_link|image_zoom],[image_compression|image_effects|image_frames],imagecaption[imagecaption_position]
724 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.images
725
726 caption.editIcons = tt_content : imagecaption[imagecaption_position]
727 caption.editIcons.beforeLastTag=1
728 caption.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.caption
729
730 stdWrap.prefixComment = 2 | Image block:
731 }
732
733 # *****************
734 # CType: textpic
735 # *****************
736 tt_content.textpic = COA
737 tt_content.textpic {
738 10 = COA
739 10.if.value = 25
740 10.if.isLessThan.field = imageorient
741 10.10 = < lib.stdheader
742
743 20 = < tt_content.image.20
744 20 {
745 text.10 = COA
746 text.10 {
747 if.value = 24
748 if.isGreaterThan.field = imageorient
749 10 = < lib.stdheader
750 10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
751 }
752 text.20 = < tt_content.text.20
753 text.wrap = <div class="csc-textpic-text"> | </div>
754 }
755 }
756
757
758
759 # *****************
760 # CType: bullet
761 # *****************
762 tt_content.bullets = COA
763 tt_content.bullets {
764 10 = < lib.stdheader
765
766 20 = TEXT
767 20 {
768 field = bodytext
769 trim = 1
770 split{
771 token.char = 10
772 cObjNum = |*|1|| 2|*|
773 1.current = 1
774 1.parseFunc =< lib.parseFunc
775 1.wrap = <li class="odd">|</li>
776
777 2.current = 1
778 2.parseFunc =< lib.parseFunc
779 2.wrap = <li class="even">|</li>
780 }
781 dataWrap = <ul class="csc-bulletlist csc-bulletlist-{field:layout}">|</ul>
782 editIcons = tt_content: bodytext, [layout]
783 editIcons.beforeLastTag = 1
784 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.php:eIcon.bullets
785
786 prefixComment = 2 | Bullet list:
787 }
788 }
789
790
791
792 # *****************
793 # CType: table
794 # *****************
795 # Rendered by a PHP function specifically written to handle CE tables. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
796 tt_content.table = COA
797 tt_content.table {
798 10 = < lib.stdheader
799
800 20 = USER
801 20.userFunc = tx_cssstyledcontent_pi1->render_table
802 20.field = bodytext
803
804 20.color {
805 default =
806 1 = #EDEBF1
807 2 = #F5FFAA
808 }
809 20.tableParams_0 {
810 border =
811 cellpadding =
812 cellspacing =
813 }
814 20.tableParams_1 {
815 border =
816 cellpadding =
817 cellspacing =
818 }
819 20.tableParams_2 {
820 border =
821 cellpadding =
822 cellspacing =
823 }
824 20.tableParams_3 {
825 border =
826 cellpadding =
827 cellspacing =
828 }
829 20.innerStdWrap.wrap = |
830 20.innerStdWrap.parseFunc = < lib.parseFunc
831
832 20.stdWrap {
833 editIcons = tt_content: cols, bodytext, [layout], [table_bgColor|table_border|table_cellspacing|table_cellpadding]
834 editIcons.beforeLastTag = 1
835 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.table
836
837 prefixComment = 2 | Table:
838 }
839 }
840
841
842 # *****************
843 # CType: uploads
844 # *****************
845 # Rendered by a PHP function specifically written to handle CE filelists. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
846 tt_content.uploads = COA
847 tt_content.uploads {
848 10 = < lib.stdheader
849
850 20 = USER
851 20.userFunc = tx_cssstyledcontent_pi1->render_uploads
852 20.field = media
853 20.filePath.field = select_key
854
855 20 {
856 # Rendering for each file (e.g. rows of the table) as a cObject
857 itemRendering = COA
858 itemRendering {
859 wrap = <tr class="tr-odd tr-first">|</tr> |*| <tr class="tr-even">|</tr> || <tr class="tr-odd">|</tr> |*|
860
861 10 = TEXT
862 10.data = register:linkedIcon
863 10.wrap = <td class="csc-uploads-icon">|</td>
864 10.if.isPositive.field = layout
865
866 20 = COA
867 20.wrap = <td class="csc-uploads-fileName">|</td>
868 20.1 = TEXT
869 20.1 {
870 data = register:linkedLabel
871 wrap = <p>|</p>
872 }
873 20.2 = TEXT
874 20.2 {
875 data = register:description
876 wrap = <p class="csc-uploads-description">|</p>
877 htmlSpecialChars = 1
878 required = 1
879 }
880
881 30 = TEXT
882 30.if.isTrue.field = filelink_size
883 30.data = register:fileSize
884 30.wrap = <td class="csc-uploads-fileSize">|</td>
885 30.bytes = 1
886 30.bytes.labels = {$styles.content.uploads.filesizeBytesLabels}
887 }
888 useSpacesInLinkText = 0
889 stripFileExtensionFromLinkText = 0
890 }
891
892 20.color {
893 default =
894 1 = #EDEBF1
895 2 = #F5FFAA
896 }
897 20.tableParams_0 {
898 border =
899 cellpadding =
900 cellspacing =
901 }
902 20.tableParams_1 {
903 border =
904 cellpadding =
905 cellspacing =
906 }
907 20.tableParams_2 {
908 border =
909 cellpadding =
910 cellspacing =
911 }
912 20.tableParams_3 {
913 border =
914 cellpadding =
915 cellspacing =
916 }
917
918 20.linkProc {
919 target = _blank
920 jumpurl = {$styles.content.uploads.jumpurl}
921 jumpurl.secure = {$styles.content.uploads.jumpurl_secure}
922 jumpurl.secure.mimeTypes = {$styles.content.uploads.jumpurl_secure_mimeTypes}
923 removePrependedNumbers = 1
924
925 iconCObject = IMAGE
926 iconCObject.file.import.data = register : ICON_REL_PATH
927 iconCObject.file.width = 150
928 }
929
930 20.filesize {
931 bytes = 1
932 bytes.labels = {$styles.content.uploads.filesizeBytesLabels}
933 }
934
935 20.stdWrap {
936 editIcons = tt_content: media, layout [table_bgColor|table_border|table_cellspacing|table_cellpadding], filelink_size, imagecaption
937 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.filelist
938
939 prefixComment = 2 | File list:
940 }
941 }
942
943
944 # ******************
945 # CType: multimedia
946 # ******************
947 tt_content.multimedia = COA
948 tt_content.multimedia {
949 10 = < lib.stdheader
950
951 20 = MULTIMEDIA
952 20.file.field = multimedia
953 20.file.wrap = uploads/media/
954 20.file.listNum = 0
955 20.params.field = bodytext
956
957 20.stdWrap {
958 editIcons = tt_content: multimedia, bodytext
959 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
960
961 prefixComment = 2 | Multimedia element:
962 }
963 }
964
965 # *****************
966 # CType: swfobject
967 # *****************
968 tt_content.swfobject = COA
969 tt_content.swfobject {
970 10 = < lib.stdheader
971
972 20 = SWFOBJECT
973 20 {
974 file =
975 width =
976 height =
977
978 flexParams.field = pi_flexform
979
980 alternativeContent.field = bodytext
981
982 layout = ###SWFOBJECT###
983
984 video {
985 player = {$styles.content.media.videoPlayer}
986
987 defaultWidth = {$styles.content.media.defaultVideoWidth}
988 defaultHeight = {$styles.content.media.defaultVideoHeight}
989
990 default {
991 params.quality = high
992 params.menu = false
993 params.allowScriptAccess = sameDomain
994 params.allowFullScreen = true
995 }
996 mapping {
997
998 }
999 }
1000
1001 audio {
1002 player = {$styles.content.media.audioPlayer}
1003
1004 defaultWidth = {$styles.content.media.defaultAudioWidth}
1005 defaultHeight = {$styles.content.media.defaultAudioHeight}
1006
1007 default {
1008 params.quality = high
1009 params.allowScriptAccess = sameDomain
1010 params.menu = false
1011 }
1012 mapping {
1013 flashvars.file = soundFile
1014 }
1015 }
1016
1017 }
1018 20.stdWrap {
1019 editIcons = tt_content: multimedia, imagewidth, imageheight, pi_flexform, bodytext
1020 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1021
1022 prefixComment = 2 | SWFobject element:
1023 }
1024 }
1025
1026 # *****************
1027 # CType: qtobject
1028 # *****************
1029 tt_content.qtobject = COA
1030 tt_content.qtobject {
1031 10 = < lib.stdheader
1032
1033 20 = QTOBJECT
1034 20 {
1035 file =
1036 width =
1037 height =
1038
1039 flexParams.field = pi_flexform
1040
1041 alternativeContent.field = bodytext
1042
1043 layout = ###QTOBJECT###
1044
1045 video {
1046 player = {$styles.content.media.videoPlayer}
1047
1048 defaultWidth = {$styles.content.media.defaultVideoWidth}
1049 defaultHeight = {$styles.content.media.defaultVideoHeight}
1050
1051 default {
1052 params.quality = high
1053 params.menu = false
1054 params.allowScriptAccess = sameDomain
1055 params.allowFullScreen = true
1056 }
1057 mapping {
1058
1059 }
1060 }
1061
1062 audio {
1063 player = {$styles.content.media.audioPlayer}
1064
1065 defaultWidth = {$styles.content.media.defaultAudioWidth}
1066 defaultHeight = {$styles.content.media.defaultAudioHeight}
1067
1068 default {
1069 params.quality = high
1070 params.allowScriptAccess = sameDomain
1071 params.menu = false
1072 }
1073 mapping {
1074 flashvars.file = soundFile
1075 }
1076 }
1077 }
1078 20.stdWrap {
1079 editIcons = tt_content: multimedia, imagewidth, imageheight, pi_flexform, bodytext
1080 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1081
1082 prefixComment = 2 | QTobject element:
1083 }
1084 }
1085
1086 # *****************
1087 # CType: media
1088 # *****************
1089 tt_content.media = COA
1090 tt_content.media {
1091 10 = < lib.stdheader
1092
1093 20 = MEDIA
1094 20 {
1095
1096 flexParams.field = pi_flexform
1097 alternativeContent < tt_content.text.20
1098 alternativeContent.field = bodytext
1099
1100 type = video
1101 renderType = auto
1102 allowEmptyUrl = 0
1103 forcePlayer = 1
1104
1105 fileExtHandler {
1106 default = MEDIA
1107 avi = MEDIA
1108 asf = MEDIA
1109 class = MEDIA
1110 wmv = MEDIA
1111 mp3 = SWF
1112 mp4 = SWF
1113 m4v = SWF
1114 swa = SWF
1115 flv = SWF
1116 swf = SWF
1117 mov = QT
1118 m4v = QT
1119 m4a = QT
1120 }
1121
1122 mimeConf.swfobject < tt_content.swfobject.20
1123 mimeConf.qtobject < tt_content.qtobject.20
1124
1125 }
1126 20.stdWrap {
1127 editIcons = tt_content: pi_flexform, bodytext
1128 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia
1129
1130 prefixComment = 2 | Media element:
1131 }
1132 }
1133
1134 # ******************
1135 # CType: mailform
1136 # ******************
1137 tt_content.mailform = COA
1138 tt_content.mailform.10 = < lib.stdheader
1139 tt_content.mailform.20 = FORM
1140 tt_content.mailform.20 {
1141 accessibility = 1
1142 noWrapAttr=1
1143 formName = mailform
1144 dontMd5FieldNames = 1
1145 layout = <div class="csc-mailform-field">###LABEL### ###FIELD###</div>
1146 labelWrap.wrap = |
1147 commentWrap.wrap = |
1148 radioWrap.wrap = |<br />
1149 radioWrap.accessibilityWrap = <fieldset###RADIO_FIELD_ID###><legend>###RADIO_GROUP_LABEL###</legend>|</fieldset>
1150 REQ = 1
1151 REQ.labelWrap.wrap = |
1152 COMMENT.layout = <div class="csc-mailform-label">###LABEL###</div>
1153 RADIO.layout = <div class="csc-mailform-field">###LABEL### <span class="csc-mailform-radio">###FIELD###</span></div>
1154 LABEL.layout = <div class="csc-mailform-field">###LABEL### <span class="csc-mailform-label">###FIELD###</span></div>
1155 target = {$styles.content.mailform.target}
1156 goodMess = {$styles.content.mailform.goodMess}
1157 badMess = {$styles.content.mailform.badMess}
1158 redirect.field = pages
1159 redirect.listNum = 0
1160 recipient.field = subheader
1161 data.field = bodytext
1162 locationData = 1
1163 hiddenFields.stdWrap.wrap = <div style="display:none;">|</div>
1164
1165 params.radio = class="csc-mailform-radio"
1166 params.check = class="csc-mailform-check"
1167 params.submit = class="csc-mailform-submit"
1168
1169 stdWrap.wrap = <fieldset class="csc-mailform"> | </fieldset>
1170 stdWrap {
1171 editIcons = tt_content: bodytext, pages, subheader
1172 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.form
1173
1174 prefixComment = 2 | Mail form inserted:
1175 }
1176 }
1177
1178
1179 # ******************
1180 # CType: search
1181 # ******************
1182 tt_content.search = COA
1183 tt_content.search.10 = < lib.stdheader
1184 # Result:
1185 tt_content.search.20 = SEARCHRESULT
1186 tt_content.search.20 {
1187 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
1188 languageField.tt_content = sys_language_uid
1189 renderObj = COA
1190 renderObj {
1191
1192 10 = TEXT
1193 10.field = pages_title
1194 10.htmlSpecialChars = 1
1195 10.typolink {
1196 parameter.field = uid
1197 target = {$styles.content.searchresult.resultTarget}
1198 additionalParams.data = register:SWORD_PARAMS
1199 additionalParams.required = 1
1200 additionalParams.wrap = &no_cache=1
1201 }
1202 10.htmlSpecialChars = 1
1203 10.wrap = <h3 class="csc-searchResultHeader">|</h3>
1204
1205 20 = COA
1206 20 {
1207 10 = TEXT
1208 10.field = tt_content_bodytext
1209 10.stripHtml = 1
1210 10.htmlSpecialChars = 1
1211 }
1212 20.stdWrap.crop = 200 | ...
1213 20.stdWrap.wrap = <p class="csc-searchResult">|</p>
1214 }
1215
1216 layout = COA
1217 layout {
1218 wrap = <table border="0" cellspacing="0" cellpadding="2" class="csc-searchResultInfo"><tr> | </tr></table> ###RESULT###
1219
1220 10 = TEXT
1221 10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.resultRange
1222 10.wrap = <td class="csc-searchResultRange"><p>|</p></td>
1223
1224 20 = TEXT
1225 20.value = ###PREV###&nbsp;&nbsp;&nbsp;###NEXT###
1226 20.wrap = <td class="csc-searchResultPrevNext"><p>|</p></td>
1227 }
1228
1229 noResultObj = COA
1230 noResultObj {
1231 10 = TEXT
1232 10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.emptySearch
1233 10.wrap = <h3 class="csc-noSearchResultMsg">|</h3>
1234 }
1235
1236 next = TEXT
1237 next.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultNext
1238
1239 prev = TEXT
1240 prev.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultPrev
1241
1242 target = {$styles.content.searchresult.target}
1243 range = 20
1244
1245 stdWrap.prefixComment = 2 | Search result:
1246 }
1247
1248 # Form:
1249 tt_content.search.30 < tt_content.mailform.20
1250 tt_content.search.30 {
1251 goodMess = {$styles.content.searchform.goodMess}
1252 redirect >
1253 recipient >
1254 data >
1255 dataArray {
1256 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchWord
1257 10.type = sword=input
1258 20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchIn
1259 20.type = scols=select
1260 20.valueArray {
1261 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.headersKeywords
1262 10.value = pages.title-subtitle-keywords-description:tt_content.header
1263 20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.pageContent
1264 20.value = tt_content.header-bodytext-imagecaption
1265 }
1266 30.type = stype=hidden
1267 30.value = L0
1268 40.type = submit=submit
1269 40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchButton
1270 }
1271 type.field = pages
1272 type.listNum = 0
1273 locationData = HTTP_POST_VARS
1274 no_cache = 1
1275
1276 stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" class="csc-searchform"> | </table>
1277 stdWrap {
1278 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.search
1279
1280 prefixComment = 2 | Search form inserted:
1281 }
1282 }
1283
1284
1285 # ******************
1286 # CType: login
1287 # ******************
1288 tt_content.login < tt_content.mailform
1289 tt_content.login.10 = < lib.stdheader
1290 tt_content.login.20 {
1291 goodMess = {$styles.content.loginform.goodMess}
1292 redirect >
1293 recipient >
1294 data >
1295 dataArray {
1296 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.username
1297 10.type = *user=input
1298 20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.password
1299 20.type = *pass=password
1300 30.type = logintype=hidden
1301 30.value = login
1302 40.type = submit=submit
1303 40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.login
1304 }
1305 type.field = pages
1306 type.listNum = 0
1307 target = {$styles.content.loginform.target}
1308 locationData = 0
1309 hiddenFields.pid = TEXT
1310 hiddenFields.pid {
1311 value = {$styles.content.loginform.pid}
1312 override.field = pages
1313 override.listNum = 1
1314 }
1315
1316 stdWrap.wrap = <div class="csc-loginform"> | </div>
1317 stdWrap {
1318 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.login
1319
1320 prefixComment = 2 | Login/Logout form:
1321 }
1322 }
1323 [loginUser = *]
1324 tt_content.login.20 {
1325 dataArray >
1326 dataArray {
1327 10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.username
1328 10.label.wrap = |&nbsp;<!--###USERNAME###-->
1329 30.type = logintype=hidden
1330 30.value = logout
1331 40.type = submit=submit
1332 40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.logout
1333 }
1334 }
1335 [global]
1336
1337
1338 # ******************
1339 # CType: splash
1340 # ******************
1341 # Deprecated element.
1342 # Still here for backwards compliance with plugins using the "text box" type.
1343 tt_content.splash = CASE
1344 tt_content.splash.key.field = splash_layout
1345 tt_content.splash.stdWrap {
1346 prefixComment = 2 | Textbox inserted (Deprecated)
1347 }
1348 tt_content.splash.default = COA
1349 tt_content.splash.default {
1350 20 = CTABLE
1351 20 {
1352 c.1 = < tt_content.text
1353 lm.1 = IMAGE
1354 lm.1.file {
1355 import = uploads/pics/
1356 import.field = image
1357 import.listNum = 0
1358 maxW.field = imagewidth
1359 maxW.ifEmpty = 200
1360 }
1361 cMargins = 30,0,0,0
1362 }
1363 }
1364 tt_content.splash.1 < tt_content.splash.default
1365 tt_content.splash.1.20.lm.1.file >
1366 tt_content.splash.1.20.lm.1.file = GIFBUILDER
1367 tt_content.splash.1.20.lm.1.file {
1368 XY = [10.w]+10,[10.h]+10
1369 backColor = {$content.splash.bgCol}
1370 backColor.override.data = register:pageColor
1371 format = jpg
1372 5 = BOX
1373 5.dimensions = 3,3,[10.w],[10.h]
1374 5.color = #333333
1375 7 = EFFECT
1376 7.value = blur=99|blur=99|blur=99|blur=99|blur=99|blur=99|blur=99
1377 10 = IMAGE
1378 10.file {
1379 import = uploads/pics/
1380 import.field = image
1381 import.listNum = 0
1382 maxW.field = imagewidth
1383 maxW.ifEmpty = 200
1384 }
1385 }
1386 // The image frames are not available unless TypoScript code from styles.content.imgFrames.x is provided manually:
1387 tt_content.splash.2 < tt_content.splash.default
1388 #tt_content.splash.2.20.lm.1.file.m < styles.content.imgFrames.1
1389 tt_content.splash.3 < tt_content.splash.default
1390 #tt_content.splash.3.20.lm.1.file.m < styles.content.imgFrames.2
1391
1392 // From plugin.postit1, if included:
1393 tt_content.splash.20 = < plugin.postit1
1394
1395
1396
1397 # ****************
1398 # CType: menu
1399 # ****************
1400 tt_content.menu = COA
1401 tt_content.menu {
1402 10 = < lib.stdheader
1403
1404 20 = CASE
1405 20 {
1406 key.field = menu_type
1407
1408 # "Menu of these pages"
1409 default = HMENU
1410 default {
1411 special = list
1412 special.value.field = pages
1413 wrap = <ul class="csc-menu csc-menu-def">|</ul>
1414 1 = TMENU
1415 1 {
1416 target = {$PAGE_TARGET}
1417 NO {
1418 stdWrap.htmlSpecialChars = 1
1419 wrapItemAndSub = <li>|</li>
1420 ATagTitle.field = description // title
1421 }
1422 }
1423 }
1424
1425 # "Menu of subpages to these pages"
1426 1 < .default
1427 1 {
1428 special = directory
1429 wrap = <ul class="csc-menu csc-menu-1">|</ul>
1430 }
1431
1432 # "Sitemap - liststyle"
1433 2 = HMENU
1434 2 {
1435 wrap = <div class="csc-sitemap">|</div>
1436 1 = TMENU
1437 1 {
1438 target = {$PAGE_TARGET}
1439 expAll = 1
1440 wrap = <ul>|</ul>
1441 NO {
1442 stdWrap.htmlSpecialChars = 1
1443 wrapItemAndSub = <li>|</li>
1444 ATagTitle.field = description // title
1445 }
1446 }
1447 2 < .1
1448 3 < .1
1449 4 < .1
1450 5 < .1
1451 6 < .1
1452 7 < .1
1453 }
1454
1455 # "Section index (pagecontent w/Index checked - liststyle)"
1456 3 < styles.content.get
1457 3 {
1458 wrap = <ul class="csc-menu csc-menu-3">|</ul>
1459 select.andWhere = sectionIndex<>0
1460 select.pidInList.override.field = pages
1461 renderObj = TEXT
1462 renderObj {
1463 fieldRequired = header
1464 trim = 1
1465 field = header
1466 htmlSpecialChars = 1
1467 wrap = <li class="csc-section">|</li>
1468 typolink.parameter.field = pid
1469 typolink.section.field = uid
1470 }
1471 }
1472
1473 # "Menu of subpages to these pages (with abstract)"
1474 4 < .1
1475 4 {
1476 wrap = <dl class="csc-menu csc-menu-4">|</dl>
1477 1.NO {
1478 wrapItemAndSub >
1479 linkWrap = <dt>|</dt>
1480 after {
1481 data = field : abstract // field : description // field : subtitle
1482 required = 1
1483 htmlSpecialChars = 1
1484 wrap = <dd>|</dd>
1485 }
1486 ATagTitle.field = description // title
1487 }
1488 }
1489
1490 # "Recently updated pages"
1491 5 < .default
1492 5 {
1493 wrap = <ul class="csc-menu csc-menu-5">|</ul>
1494 special = updated
1495 special {
1496 maxAge = 3600*24*7
1497 excludeNoSearchPages = 1
1498 }
1499 }
1500
1501 # "Related pages (based on keywords)"
1502 6 < .default
1503 6 {
1504 wrap = <ul class="csc-menu csc-menu-6">|</ul>
1505 special = keywords
1506 special {
1507 excludeNoSearchPages = 1
1508 }
1509 }
1510
1511 # "Menu of subpages to these pages + sections - liststyle"
1512 7 < .1
1513 7 {
1514 wrap = <ul class="csc-menu csc-menu-7">|</ul>
1515 1.expAll = 1
1516 2 < .1
1517 2 {
1518 sectionIndex = 1
1519 sectionIndex.type = header
1520 wrap = <ul>|</ul>
1521 NO.wrapItemAndSub = <li class="csc-section">|</li>
1522 }
1523 }
1524
1525 # "Sitemaps of selected pages - liststyle"
1526 8 < .2
1527 8 {
1528 special = directory
1529 special.value.field = pages
1530 }
1531
1532 # Menu of categorized pages
1533 9 < .default
1534 9 {
1535 special = categories
1536 special.value.field = selected_categories
1537 special.relation.field = category_field
1538 special.sorting = title
1539 special.order = asc
1540 stdWrap {
1541 outerWrap = <ul class="csc-menu csc-menu-9">|</ul>
1542 }
1543 }
1544 }
1545
1546 20.stdWrap {
1547 editIcons = tt_content: menu_type, pages
1548 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.menuSitemap
1549
1550 prefixComment = 2 | Menu/Sitemap element:
1551 }
1552 }
1553
1554
1555
1556 # ****************
1557 # CType: shortcut
1558 # ****************
1559 # Should be a complete copy from the old static template "content (default)"
1560 tt_content.shortcut = COA
1561 tt_content.shortcut {
1562 20 = CASE
1563 20.key.field = layout
1564 20.0= RECORDS
1565 20.0 {
1566 source.field = records
1567 tables = {$content.shortcut.tables}
1568 # THESE are OLD plugins. Modern plugins registers themselves automatically!
1569 conf.tt_content = < tt_content
1570 conf.tt_address = < tt_address
1571 conf.tt_links = < tt_links
1572 conf.tt_guest = < tt_guest
1573 conf.tt_board = < tt_board
1574 conf.tt_calender = < tt_calender
1575 conf.tt_rating < tt_rating
1576 conf.tt_products = < tt_products
1577 conf.tt_news = < tt_news
1578 conf.tt_poll = < plugin.tt_poll
1579 }
1580 20.1= RECORDS
1581 20.1 {
1582 source.field = records
1583 tables = {$content.shortcut.tables}
1584 conf.tt_poll = < plugin.tt_poll
1585 conf.tt_poll.code = RESULT,SUBMITTEDVOTE
1586 }
1587
1588 20.stdWrap {
1589 editIcons = tt_content: records
1590 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList
1591
1592 prefixComment = 2 | Inclusion of other records (by reference):
1593 }
1594 }
1595
1596
1597 # ****************
1598 # CType: list
1599 # ****************
1600 # Should be a complete copy from the old static template "content (default)" (except "lib.stdheader")
1601 tt_content.list = COA
1602 tt_content.list {
1603 10 = < lib.stdheader
1604
1605 20 = CASE
1606 20.key.field = list_type
1607 20 {
1608 # LIST element references (NOT copy of objects!)
1609 # THESE are OLD plugins. Modern plugins registers themselves automatically!
1610 3 = CASE
1611 3.key.field = layout
1612 3.0 = < plugin.tt_guest
1613
1614 4 = CASE
1615 4.key.field = layout
1616 4.0 = < plugin.tt_board_list
1617 4.1 = < plugin.tt_board_tree
1618
1619 2 = CASE
1620 2.key.field = layout
1621 2.0 = < plugin.tt_board_tree
1622
1623 5 = CASE
1624 5.key.field = layout
1625 5.0 = < plugin.tt_products
1626
1627 7 = CASE
1628 7.key.field = layout
1629 7.0 = < plugin.tt_calender
1630
1631 8 = CASE
1632 8.key.field = layout
1633 8.0 = < plugin.tt_rating
1634
1635 9 = CASE
1636 9.key.field = layout
1637 9.0 = < plugin.tt_news
1638
1639 11 = CASE
1640 11.key.field = layout
1641 11.0 = < plugin.tipafriend
1642
1643 20 = CASE
1644 20.key.field = layout
1645 20.0 = < plugin.feadmin.fe_users
1646
1647 21 = CASE
1648 21.key.field = layout
1649 21.0 = < plugin.feadmin.dmailsubscription
1650 }
1651
1652 20.stdWrap {
1653 editIcons = tt_content: list_type, layout, select_key, pages [recursive]
1654 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.plugin
1655
1656 prefixComment = 2 | Plugin inserted:
1657 }
1658 }
1659
1660
1661 # ****************
1662 # CType: script
1663 # ****************
1664 # OBSOLETE! Please make extensions instead. The "script" content element was meant for these custom purposes in the past. Today extensions will do the job better.
1665 tt_content.script = TEXT
1666 tt_content.script {
1667 value =
1668
1669 prefixComment = 2 | Script element (Deprecated)
1670 }
1671
1672
1673 # ****************
1674 # CType: div
1675 # ****************
1676 tt_content.div = TEXT
1677 tt_content.div {
1678 value = <hr />
1679 wrap = <div class="divider">|</div>
1680 prefixComment = 2 | Div element
1681 }
1682
1683
1684 # ****************
1685 # CType: html
1686 # ****************
1687 # This truely IS a content object, launched from inside the PHP class of course.
1688 # Should be a complete copy from the old static template "content (default)"
1689 tt_content.html = TEXT
1690 tt_content.html {
1691 field = bodytext
1692
1693 editIcons = tt_content:bodytext
1694 editIcons.beforeLastTag = 1
1695 editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.html
1696
1697 prefixComment = 2 | Raw HTML content:
1698 }
1699
1700
1701 # ****************
1702 # Default error msg:
1703 # ****************
1704 tt_content.default = TEXT
1705 tt_content.default {
1706 field = CType
1707 wrap = <p style="background-color: yellow;"><b>ERROR:</b> Content Element type "|" has no rendering definition!</p>
1708
1709 prefixComment = 2 | Unknown element message:
1710 }
1711
1712 # *********************************************************************
1713 # ACCESSIBILTY MODE
1714 # *********************************************************************
1715
1716
1717
1718
1719
1720
1721
1722 plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE (
1723 /* Captions */
1724 DIV.csc-textpic-caption-c .csc-textpic-caption { text-align: center; }
1725 DIV.csc-textpic-caption-r .csc-textpic-caption { text-align: right; }
1726 DIV.csc-textpic-caption-l .csc-textpic-caption { text-align: left; }
1727
1728 /* Needed for noRows setting */
1729 DIV.csc-textpic DIV.csc-textpic-imagecolumn { float: left; display: inline; }
1730
1731 /* Border just around the image */
1732 {$styles.content.imgtext.borderSelector} {
1733 border: {$styles.content.imgtext.borderThick}px solid {$styles.content.imgtext.borderColor};
1734 padding: {$styles.content.imgtext.borderSpace}px {$styles.content.imgtext.borderSpace}px;
1735 }
1736
1737 DIV.csc-textpic-imagewrap { padding: 0; }
1738
1739 DIV.csc-textpic IMG { border: none; }
1740
1741 /* DIV: This will place the images side by side */
1742 DIV.csc-textpic DIV.csc-textpic-imagewrap DIV.csc-textpic-image { float: left; }
1743
1744 /* UL: This will place the images side by side */
1745 DIV.csc-textpic DIV.csc-textpic-imagewrap UL { list-style: none; margin: 0; padding: 0; }
1746 DIV.csc-textpic DIV.csc-textpic-imagewrap UL LI { float: left; margin: 0; padding: 0; }
1747
1748 /* DL: This will place the images side by side */
1749 DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image { float: left; }
1750 DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DT { float: none; }
1751 DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DD { float: none; }
1752 DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DD IMG { border: none; } /* FE-Editing Icons */
1753 DL.csc-textpic-image { margin: 0; }
1754 DL.csc-textpic-image DT { margin: 0; display: inline; }
1755 DL.csc-textpic-image DD { margin: 0; }
1756
1757 /* Clearer */
1758 DIV.csc-textpic-clear { clear: both; }
1759
1760 /* Margins around images: */
1761
1762 /* Pictures on left, add margin on right */
1763 DIV.csc-textpic-left DIV.csc-textpic-imagewrap .csc-textpic-image,
1764 DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap .csc-textpic-image,
1765 DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap .csc-textpic-image {
1766 display: inline; /* IE fix for double-margin bug */
1767 margin-right: {$styles.content.imgtext.colSpace}px;
1768 }
1769
1770 /* Pictures on right, add margin on left */
1771 DIV.csc-textpic-right DIV.csc-textpic-imagewrap .csc-textpic-image,
1772 DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap .csc-textpic-image,
1773 DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap .csc-textpic-image {
1774 display: inline; /* IE fix for double-margin bug */
1775 margin-left: {$styles.content.imgtext.colSpace}px;
1776 }
1777
1778 /* Pictures centered, add margin on left */
1779 DIV.csc-textpic-center DIV.csc-textpic-imagewrap .csc-textpic-image {
1780 display: inline; /* IE fix for double-margin bug */
1781 margin-left: {$styles.content.imgtext.colSpace}px;
1782 }
1783 DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image .csc-textpic-caption { margin: 0; }
1784 DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image IMG { margin: 0; vertical-align:bottom; }
1785
1786 /* Space below each image (also in-between rows) */
1787 DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image { margin-bottom: {$styles.content.imgtext.rowSpace}px; }
1788 DIV.csc-textpic-equalheight DIV.csc-textpic-imagerow { margin-bottom: {$styles.content.imgtext.rowSpace}px; display: block; }
1789 DIV.csc-textpic DIV.csc-textpic-imagerow { clear: both; }
1790 DIV.csc-textpic DIV.csc-textpic-single-image IMG { margin-bottom: {$styles.content.imgtext.rowSpace}px; }
1791
1792 /* IE7 hack for margin between image rows */
1793 *+html DIV.csc-textpic DIV.csc-textpic-imagerow .csc-textpic-image { margin-bottom: 0; }
1794 *+html DIV.csc-textpic DIV.csc-textpic-imagerow { margin-bottom: {$styles.content.imgtext.rowSpace}px; }
1795
1796 /* No margins around the whole image-block */
1797 DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-firstcol { margin-left: 0px !important; }
1798 DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-lastcol { margin-right: 0px !important; }
1799
1800 /* Add margin from image-block to text (in case of "Text & Images") */
1801 DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap,
1802 DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap {
1803 margin-right: {$styles.content.imgtext.textMargin}px !important;
1804 }
1805 DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap,
1806 DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap {
1807 margin-left: {$styles.content.imgtext.textMargin}px !important;
1808 }
1809
1810 /* Positioning of images: */
1811
1812 /* Above */
1813 DIV.csc-textpic-above DIV.csc-textpic-text { clear: both; }
1814
1815 /* Center (above or below) */
1816 DIV.csc-textpic-center { text-align: center; /* IE-hack */ }
1817 DIV.csc-textpic-center DIV.csc-textpic-imagewrap { margin: 0 auto; }
1818 DIV.csc-textpic-center DIV.csc-textpic-imagewrap .csc-textpic-image { text-align: left; /* Remove IE-hack */ }
1819 DIV.csc-textpic-center DIV.csc-textpic-text { text-align: left; /* Remove IE-hack */ }
1820
1821 /* Right (above or below) */
1822 DIV.csc-textpic-right DIV.csc-textpic-imagewrap { float: right; }
1823 DIV.csc-textpic-right DIV.csc-textpic-text { clear: right; }
1824
1825 /* Left (above or below) */
1826 DIV.csc-textpic-left DIV.csc-textpic-imagewrap { float: left; }
1827 DIV.csc-textpic-left DIV.csc-textpic-text { clear: left; }
1828
1829 /* Left (in text) */
1830 DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap { float: left; }
1831
1832 /* Right (in text) */
1833 DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap { float: right; }
1834
1835 /* Right (in text, no wrap around) */
1836 DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap { float: right; clear: both; }
1837 /* Hide from IE5-mac. Only IE-win sees this. \*/
1838 * html DIV.csc-textpic-intext-right-nowrap .csc-textpic-text { height: 1%; }
1839 /* End hide from IE5/mac */
1840
1841 /* Left (in text, no wrap around) */
1842 DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap { float: left; clear: both; }
1843 /* Hide from IE5-mac. Only IE-win sees this. \*/
1844 * html DIV.csc-textpic-intext-left-nowrap .csc-textpic-text,
1845 * html .csc-textpic-intext-left ol,
1846 * html .csc-textpic-intext-left ul { height: 1%; }
1847 /* End hide from IE5/mac */
1848
1849 DIV.csc-textpic DIV.csc-textpic-imagerow-last { margin-bottom: 0; }
1850
1851 /* Browser fixes: */
1852
1853 /* Fix for unordered and ordered list with image "In text, left" */
1854 .csc-textpic-intext-left ol, .csc-textpic-intext-left ul {padding-left: 40px; overflow: auto; }
1855 )