[Neos] Help with some typoscript - SOLVED

Pankaj Lele pankaj at lelesys.com
Thu Feb 6 11:28:09 CET 2014


Enjoy Neos :)

-Pankaj

> Hi Pankaj
> 
> Thanks that works a treat :)
> 
> Don't think I would have tried that, been going round and round in 
> circles but no more.
> 
> Many thanks again
> Nick
> 
> On 05/02/2014 20:07, Pankaj Lele wrote:
>> Hell Nick,
>> 
>> Please try doing
>> 
>> # this pushes a new var into current ts context
>> @override.teaserTargetNode = ${q(node).property('teaserTargetNode')}
>> 
>> and then inside same prototype you should be able to use ${q(teaserTargetNode)
>> 
>> -Pankaj
>> 
>>> Hi all
>>> 
>>> I could still do with a bit of help on this as I am wondering if what I 
>>> am trying to do is possible at all now!
>>> 
>>> I thought as I was having no luck traversing the children of the 
>>> teaserTarget node I would try getting a parent node. ie.
>>> 
>>> // get the Target Node for this teaser
>>> teaserTargetNode = ${q(node).property('teaserTargetNode')}
>>> // now get the parent
>>> teaserTargetNodeParent = ${q(teaserTargetNode).parents().get(0)}
>>> 
>>> in fluid I do a simple dump of the above ie. {teaserTargetNode} & 
>>> {teaserTargetNodeParent}
>>> for
>>> {teaserTargetNode} i get :
>>> Node 
>>> /sites/rerootsitecom/what-we-do/for-you/main/node52e907b4a56fe[Reroot.RerootSiteCom:Section] 
>>> 
>>> {teaserTargetNodeParent} is null .
>>> 
>>> So clealry I can't traverse this nodes parents or children. Is this 
>>> expected behaviour or a bug? From my limited understanding it would 
>>> seem a
>>> useful feature to have. All help welcome please :)
>>> 
>>> Best wishes
>>> 
>>> Nick
>>> 
>>> 
>>> On 04/02/2014 12:52, Nick wrote:
>>>> Hi all
>>>> 
>>>> I am trying to implement a teaser nodetype which I have called 
>>>> SectionTeaser which can be used to create a teaser element for a 
>>>> Section.
>>>> The idea would be that the editor inserts a SectionTeaser and then 
>>>> selects a node of type Section. Then I want to grab the Section and 
>>>> display the
>>>> sections Headline, if it exists, and say the first 400 characters of 
>>>> the section's first text element.
>>>> I have defined:
>>>> Reroot.RerootSiteCom:Section to be a subtype of TYPO3.Neos:Content and 
>>>> have childNodes column0 with type TYPO3.Neos:Content.
>>>> Reroot.RerootSiteCom:SectionTeaser is a subtype of TYPO3.Neos:Content 
>>>> and has one property teaserTargetNode type reference with an editor 
>>>> option
>>>> nodetypes : Reroot.RerootSiteCom:Section.
>>>> 
>>>> 
>>>> When it comes to the TypoScript I seem to be getting nowhere, which is 
>>>> probably a reflection of my knowledge :(
>>>> 
>>>> I had hoped in SectionTeaser.ts2 to try something like this:
>>>> 
>>>> prototype(Reroot.RerootSiteCom:SectionTeaser) < prototype(TYPO3.Neos:Content){
>>>> templatePath = 
>>>> 'resource://Reroot.RerootSiteCom/Private/Templates/NodeTypes/SectionTeaser.html' 
>>>> 
>>>> 
>>>> // get the Target Node for this teaser
>>>> teaserTargetNode = ${q(node).property('teaserTargetNode')}
>>>> 
>>>> //search for the first (there could be more than one ) 
>>>> TYPO3.Neos.NodeTypes:Headline contend in the childNode 'column0'
>>>> teaserHeadline = 
>>>> ${q(teaserTargetNode).children('column0').children('[instanceof 
>>>> TYPO3.Neos.NodeTypes:Headline]').first().get(0)}
>>>> 
>>>> //grab the first 400 chars of the first TYPO3.Neos.NodeTypes:Text 
>>>> contained in the Section
>>>> teaserText= 
>>>> ${q(teaserTargetNode).children('column0').children('[instanceof 
>>>> TYPO3.Neos.NodeTypes:Text]').first().slice(0,400)}
>>>> }
>>>> 
>>>> I would then render teaserHeadline and teaserHeadline in the SectionTeaser.html
>>>> 
>>>> However they are always empty.
>>>> 
>>>> Any pointers would be gratefully appreciated
>>>> 
>>>> Best wishes
>>>> 
>>>> Nick


-- 
Pankaj Lele
CTO - Lelesys, India
http://www.lelesys.com
Twitter: @pankajlele



More information about the Neos mailing list