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