[TYPO3] wrap a COA using 'optionSplit'?

Rudolf Ganglbauer office at reiseabrechnung.at
Thu Apr 20 14:07:42 CEST 2006


JoH wrote:
>>>> lib.stdheader {
>>>> stdWrap.split.dataWrap = <div class="csc-header 
>>>> csc-header-n{cObj:parentRecordNumber}"> <table cellspacing="0" 
>>>> cellpadding="0" border="0" width="100%" 
>>>> style="margin:0"><tr><td><h1{register:headerStyle}{register:headerClass}>|</h1></td><td 
>>>> align="right" class="printLink"><a class="printLink" 
>>>> href="javascript:window.print()"><img 
>>>> src="fileadmin/template/main/kuvat_catella/printer.gif"></a></td></tr></table></div> 
>>>> |*| <div class="csc-header csc-header-n{cObj:parentRecordNumber}"> 
>>>> |</div> |*|<div class="csc-header csc-header-n{cObj:parentRecordNumber}"> 
>>>> |</div>
>>>> }
>>>>
>>>>
>>>> seems not to work
>>> Of course not since there is no split function, no token and nothing else 
>>> that would be necessary to use a split function here.
>>> And I really don't know, what you are going to acchieve by optionSplit in 
>>> this case.
>> the first header in a column should have special dataWrap (in fact only in 
>> colPos=0 but that would need extra conditions - some kind of 
>> CASE-structure)
> 
> OK - but the code you are wrapping around your header seems to be a bit 
> "oversized" if you just want a print link.
> optionSplit doesn't make any sense here, since the whole header setup is 
> copied into the renderObj of a CONTENT element.
> So you would have to use split and optionSplit on the CONTENT element, which 
> would be extremely complicated.
> 
> Here is a code that I would use to get the same result.
> 
> lib.stdheader = COA
> lib.stdheader {
>     stdWrap.dataWrap >
>     stdWrap.outerWrap.cObject = CASE
>     stdWrap.outerWrap.cObject {
>         key.field = colPos
>         default = COA
>         default {
>             10 = COA
>             10 {
>                 10 = TEXT
>                 10.value = |
>                 20 = IMAGE
>                 20 {
>                     file = 
> fileadmin/template/main/kuvat_catella/printer.gif
>                     wrap = <a href="javascript:window.print()">|</a></div>
>                 }
>                 stdWrap.if {
>                     value = 1
>                     equals.data = cObj:parentRecordNumber
>                 }
>                 stdWrap.dataWrap = <div class="csc-header 
> csc-header-n{cObj:parentRecordNumber}">|</div>
>             }
>             20 = TEXT
>             20 {
>                 value = |
>                 dataWrap = <div class="csc-header 
> csc-header-n{cObj:parentRecordNumber}">|</div>
>                 stdWrap.if {
>                     value = 1
>                     equals.data = cObj:parentRecordNumber
>                     negate = 1
>                 }
>             }
>         }
>         1 < .default.20
>         1.stdWrap.if >
>         2 < .1
>         3 < .1
>     }
> }
> 
> This will kill the original dataWrap, then add the print link only for the 
> first element of colPos 0 (default) while rebuilding the original dataWrap 
> as outerWrap for all other cases.
> No additional tables here, just an additional <a>-Tag containing the image 
> inside the <div> container.
> You could even get rid of the image and insert a <span>-Tag with a text 
> "print this page", that you can remove with CSS image replacement 
> techniques.
> Not tested, but should be working in a similar way.
> 
> Joey 
> 
> 
Joe, this sounds very interesting for me but actually I dont understand 
anything :-(

What I am looking for is a split of following:
xxxx <input ... /> <br />
xxxx <input ... /> <br /> and so on. The <br /> is hardcoded in the 
extension (in fact direct_mail_subscription). I would like to replace 
this by sourrounding <div ...>.

Do you think it is possible your way?

kind regards,
Rudolf



More information about the TYPO3-english mailing list