[TYPO3] Different HTML templates depending on optional right column

Bernd Wilke xoonsji02 at sneakemail.com
Wed Nov 7 09:58:56 CET 2007


Tyler Kraft schrieb:
> easy or hard answer?
> 
> Quick and easy way: use the page layout drop down in the page 
> properties. you can remove option and rename options via TS in the page 
> TSconfig. then using a condition in the template setup you can select 
> which template file to use.
> 
> 
> 
> Hard (harder?) way: read TSref and get better at understanding 
> conditions, if statements, and template item. ;-)
> 
> Afaik all that's missing here is the marks! So I think it would need to 
> become something like this.
> 
> temp.maintemplate= COA
> temp.maintemplate {
>   10 = COA
>   10 {
>     if.isTrue.numRows < styles.content.getRight
>     10 = TEMPLATE
>     10 {
>       template = FILE
>       template.file = fileadmin/templates/template-2column.html
>     workOnSubpart = document_body
>     marks.logo < temp.logo
>     marks.topnav < temp.topnav
>     marks.lhcol < temp.lhcol
       marks.MAIN_CONTENTS < styles.content.get
       marks.RIGHT_CONTENTS < styles.content.getRight

>     }
>   }
>   20 = COA
>   20 {
>     if.isFalse.numRows < styles.content.getRight
>     10 = TEMPLATE
>     10 {
>       template = FILE
>       template.file = fileadmin/templates/template.html
>     workOnSubpart = document_body
>     marks.logo < temp.logo
>     marks.topnav < temp.topnav
>     marks.lhcol < temp.lhcol
       marks.MAIN_CONTENTS < styles.content.get
> 
>     }
>   }
> }
> 
As you have the markers twice this wouldn't be my preferred solution.
(you also missed the two main contents ;-) )

> And of course make sure that you've included css_styled_content.
> 
> hth
> 
> Rickard Andersson wrote:
>> Howdy,
>>
>> I'm trying to setup my TypoScript to use different HTML templates
>> depending on whether the page has any content in the right column or
>> not. In essense, what I want is to use 2col.html if the page has
>> anything in the right column and 1col.html if it doesn't. I found
>> something relating to this at typo3wizard.com, but I can't make any
>> sense out of it:
>>
>> http://www.typo3wizard.com/en/content-comments.html?no_cache=1&tx_rfcontentcomments_pi1%5Bcontentuid%5D=293 

this example just decides the name of the template and so i will use it:

>>
>>
>> Here's a shortened version of what I have today:
>>
>> temp.mainTemplate = TEMPLATE
>> temp.mainTemplate {

this might be confusing as you are doing something different as in the 
example of your url.

just a rename to use the original contruction with the origianl name:

    temp.mainContent = TEMPLATE
    temp.mainContent {
>>  template = FILE
     // template.file = fileadmin/template/2col.html  // overwritten by:
     // here is the info from the external part:
     template.file < temp.mainTemplate
>>
>>  marks.HEADER_1 = TEXT
>>  marks.HEADER_1.field = title
     //marks.MAIN_CONTENTS = TEXT 	// is overwritten by:
>>  marks.MAIN_CONTENTS < styles.content.get
     //marks.RIGHT_CONTENTS = TEXT	// is overwritten by:
>>  marks.RIGHT_CONTENTS < styles.content.getRight
>> }

and dont copy the leading '>>' which show your original lines

>> Can anyone instruct me how to adapt this to load 1col.html in case
>> styles.content.getRight is empty?
>>
>> Cheers,
>> Rickard

Bernd
-- 
http://www.pi-phi.de/t3v4/cheatsheet.html


More information about the TYPO3-english mailing list