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