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