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