[Neos] How to select different page templates

Nick nick at jamalade.com
Tue Sep 10 10:57:51 CEST 2013


Hi all,

I am really sorry to keep on but would very much appreciate your thoughts.

I have set a new string property on the TYPO3.Neos:Page Node, in my 
project Notypes.yaml, which I can set via the Neos UI.

I then wish to select the fluid template used to render a Page basd on 
this property.

so I have assumed that in my project Roots.ts2 i can acces this property 
like this:

    layoutType = ${q(node).property('layoutType')}

Which i think should return a string.

Then I wish to select the fluid template based on this:

so i in my Roots.ts2 have tried

page.body{

...

templatePath = ${layoutType !='home' ? 
'resource://reroot.DemoSiteReroot/Private/Templates/Page/Default.html': 
'resource://reroot.DemoSiteReroot/Private/Templates/Page/Home.html'}

...

}

But I always get the default template.

I am not quite sure where I am going wrong as I am not very confident 
with Typoscript and in fact if this is something that can be done?

Any ideas pointers most appreciated

Many thanks

Nick



On 10/09/2013 00:43, Nick wrote:
> Ok just for the record I have answered my second question
> ./flow flow:cache:flush --force
>
> but I am stuck on the first !
>
> Many thanks
>
> Nick :(
>
> On 10/09/2013 00:15, Nick wrote:
>> I thought I was making pretty good progress on this :
>>
>> On Mattias suggestion I created the a NodeTypes.yamlfile in
>> mySite/Configuration to add a new property to TYPO3.Neos.Page with the
>> following:
>>
>> ## YAML Template.
>> # add a field to the page properties
>> 'TYPO3.Neos:Page':
>>    superTypes: ['TYPO3.Neos:Document']
>>    ui:
>>      inspector:
>>        groups:
>>          pageLayout:
>>            label: 'Page Layout Info'
>>    properties:
>>      layoutType:
>>            type: string
>>            ui:
>>              label: 'layoutType'
>>              reloadIfChanged: TRUE
>>              inspector:
>>                group: 'pageLayout'
>>
>> This worked a dream and the option appeared in the Neos Inspector window.
>>
>> For Step 2 I tried adding the following to the Roots.ts2 file in mySites
>> (Resources/Private...) to use the new property to select the appropriate
>> Fluid template:
>>
>> page.body{
>>    ...
>>
>>    layoutType = ${q(node).property('layoutType')}
>>
>>    templatePath = ${layoutType !='home' ?
>> 'resource://reroot.DemoSiteReroot/Private/Templates/Page/Default.html':
>> 'resource://reroot.DemoSiteReroot/Private/Templates/Page/Home.html'}
>>
>> ...
>> }
>>
>> Now adding this into the Roots.ts2 at first threw an exception then when
>> trying to work out what I got wrong and after a couple of reload
>> attempts whilst logged into the back end(first getting an exception
>> thrown) I ended up whith a white screen not my test website! This is now
>> the case when I either just connect to the site (after flushing flow
>> cache and shutting down apache) or after logging in to backend!
>>
>> I am left with two questions: First what did I do wrong? Second is it
>> possible to recover the site in such a white out?
>>
>> Many thanks
>>
>> Nick
>>
>>
>>
>>
>>
>> On 08/09/2013 15:56, Nick wrote:
>>> Hi Mattias,
>>>
>>> Thanks for your reply, this would be a really useful feature for the
>>> release.
>>>
>>> I also would really appreciate a bit more help with trying to implement
>>> this as I am not quite sure how I would achieve this, I am still trying
>>> to get an understanding of how things work with Neos.
>>>
>>> Your help would be appreciated
>>>
>>> Nick
>>>
>>>
>>>
>>>
>>> On 08/09/2013 14:39, Mattias Nilsson wrote:
>>>> Hi Nick,
>>>>
>>>> There is currently no possibility to change a page template in the UI.
>>>> But
>>>> this is something is going to be implemented before the release of
>>>> version
>>>> 1.0.
>>>>
>>>> You can also make your own page template selector by defining an extra
>>>> property for TYPO3.Neos:Page inside YAML. Then you can use this
>>>> property to
>>>> assign the chosen value to which page template it should match using
>>>> TypoScript.
>>>>
>>>> If you need more help let me know and I will make a more detail
>>>> version for
>>>> you :)
>>>>
>>>> /Mattias
>>>>
>>>>
>>>> On Sat, Sep 7, 2013 at 4:05 PM, Nick <nick at jamalade.com> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> I am a neewbie to using Neos, so please forgive me for my questions,
>>>>> but
>>>>> have been following its progress from afar for a while now.
>>>>> I have been thinking/toying with the idea of using Neos for a new
>>>>> project.
>>>>> With that in mind I have been playing around with the demo site as per
>>>>> release alpha 5.
>>>>>
>>>>> First up I am a little confused as to how to get the homepage to
>>>>> display a
>>>>> different view (fluid template) from another page on a site.
>>>>>
>>>>> I can see in the NeosDemoTypo3Org site that there are a couple of
>>>>> typoscript files one for the homepage and a default one one for the
>>>>> rest of
>>>>> the site:
>>>>>
>>>>>
>>>>> ~/TYPO3-Neos-1.0-alpha5/Packages/Sites/TYPO3.NeosDemoTypo3Org/Resources/Private/TypoScripts/Nodes/Homepage/Home.ts2
>>>>>
>>>>>
>>>>>
>>>>> this defines the page.body.templatePath =
>>>>> 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Home.html
>>>>>
>>>>> Looking at the fluid template pointed to here, I can see that on the
>>>>> home
>>>>> page the "teaser" content should be displayed above the "main" content
>>>>>
>>>>> The default can be found in :
>>>>>
>>>>> ~/TYPO3-Neos-1.0-alpha5/Packages/Sites/TYPO3.NeosDemoTypo3Org/Resources/Private/TypoScripts/Library/Root.ts2
>>>>>
>>>>>
>>>>>
>>>>> this defines the page.body.templatePath =
>>>>> 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html
>>>>>
>>>>> In this fluid template the teaser isn't rendered.
>>>>>
>>>>>
>>>>> However when I actually go to the home page i.e. http://neos.demo/ I
>>>>> can
>>>>> see that the Default.html  is rendered not the Home.html fluid
>>>>> template.
>>>>>
>>>>> I am wondering how then you actually select the Home.html template
>>>>> for the
>>>>> home page, if not with the typoscript files as above?
>>>>>
>>>>> This would be an essential feature for me as for the project I am
>>>>> working
>>>>> on there are several different page templates required for different
>>>>> parts
>>>>> of the site.
>>>>>
>>>>> Many thanks in advance
>>>>>
>>>>> Nikos
>>>>> _______________________________________________
>>>>> Neos mailing list
>>>>> Neos at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/neos
>>>>>
>>>
>>
>



More information about the Neos mailing list