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