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