Hi Christian I did see the ?parent built-in but did not like the idea of iterating up the tree manually.
-will On 28.02.2011, at 10:15, Christian Ringele wrote: > Of course to get all ancestors, you would place it in a macro and recursively > iterate up. > But of course you're right, having it in STKUtil would be nice. > > - C > > On Feb 28, 2011, at 10:13 AM, Christian Ringele wrote: > >> Hi Wil, >> >> You have the freemarker built in '?parent' and you have the object 'page' >> which reflects the page node when you're operating on a paragraph level. >> So (on a page node) content?parent should directly lead you to your ancestor. >> >> On a paragraph you could do 'page?parent' >> >> - C >> >> >> On Feb 25, 2011, at 10:44 AM, Will Scheidegger wrote: >> >>> Thanks for the feedback, everyone! >>> >>> I'm glad that my code seems to be acceptable. However I guess I should open >>> a JIRA issue asking for a "getAncestor" method in STKUtils... >>> >>> -will >>> >>> On 25.02.2011, at 10:31, Unger, Richard wrote: >>> >>>> Hi Will! >>>> >>>> I can confirm that we are doing similar „tricks“ to handle things like >>>> sidebar content. >>>> >>>> It doesn’t seem like such a bad solution to me, and the code does not seem >>>> so “dirty” to me either. >>>> >>>> On a similar note, I also wrote some macro/model code to do the function >>>> “inherit first” à since stk.inheritContent() is an “inherit all” type >>>> function, where all the content named “iconLinks” (to use your example) >>>> from all ancestor nodes of content is gathered in a collection. >>>> We found we wanted to walk up the tree to find the first instance of >>>> “iconLinks” and then stop there, effectively allowing us to make settings >>>> at top level pages, but ‘override’ them at deeper level pages if needed. >>>> >>>> Regards from Vienna, >>>> >>>> Richard >>>> >>>> >>>> Von: [email protected] >>>> [mailto:[email protected]] Im Auftrag von Will Scheidegger >>>> Gesendet: Donnerstag, 24. Februar 2011 23:26 >>>> An: Magnolia User-List >>>> Betreff: Re: [magnolia-user] STK question: inherited singelton link list >>>> like meta nav? >>>> >>>> Answering my own question... something like this below did the job. But I >>>> don't think it would win a price in a code beauty contest... >>>> >>>> [#assign cms=JspTaglibs["cms-taglib"]] >>>> >>>> <ul id="icon_links"> >>>> [#assign iconLinksModel = stk.inheritContent(content, "iconLinks") /] >>>> [#if iconLinksModel.exists] >>>> [@cms.contentNodeIterator contentNode=iconLinksModel.content!] >>>> [@cms.includeTemplate /] >>>> [/@cms.contentNodeIterator] >>>> [/#if] >>>> [#if mgnl.editMode && content.@level == 1] >>>> <li class="icon_link">[@cms.newBar >>>> contentNodeCollectionName="iconLinks" newLabel="Neues Icon-Link" >>>> paragraph="schweizmobilcardExternalImageLink,schweizmobilcardInternalImageLink" >>>> /]</li> >>>> [/#if] >>>> </ul> >>>> >>>> On 24.02.2011, at 18:16, Will Scheidegger wrote: >>>> >>>> >>>> >>>> Dear Magnolians >>>> >>>> We need to add a list of "sponsor" (icon, link, name) on each page. It >>>> pretty much boils down to the same functionality the meta navigation >>>> offers. But the meta navigation uses special methods the model provides. >>>> >>>> Now of course I could extend STKTemplateModel and copy the meta navigation >>>> methods. But can I do the same without modifying the model? >>>> >>>> Whatever I have tried so far has failed miserably. I've done this in JSP >>>> templates, but somehow Freemarker is giving me a hard time... for >>>> instance: How can I get the ancestor node at level 1? >>>> ${content.getAncestor(1)} does not work because of the Magnolia Freemarker >>>> "features"... >>>> >>>> Thanks for any pointers! >>>> >>>> -will >>>> >>>> >>>> ---------------------------------------------------------------- >>>> For list details see >>>> http://www.magnolia-cms.com/home/community/mailing-lists.html >>>> To unsubscribe, E-mail to: <[email protected]> >>>> ---------------------------------------------------------------- >>>> >>>> >>>> >>>> >>>> ---------------------------------------------------------------- >>>> For list details see >>>> http://www.magnolia-cms.com/home/community/mailing-lists.html >>>> To unsubscribe, E-mail to: <[email protected]> >>>> ---------------------------------------------------------------- >>>> >>>> >>>> ---------------------------------------------------------------- >>>> For list details see >>>> http://www.magnolia-cms.com/home/community/mailing-lists.html >>>> To unsubscribe, E-mail to: <[email protected]> >>>> ---------------------------------------------------------------- >>> >>> >>> >>> ---------------------------------------------------------------- >>> For list details see >>> http://www.magnolia-cms.com/home/community/mailing-lists.html >>> To unsubscribe, E-mail to: <[email protected]> >>> ---------------------------------------------------------------- >> >> Best regards, >> >> Christian Ringele >> Magnolia International Ltd. >> >> Magnolia® - Simple Open Source Content Management >> >> >> >> ---------------------------------------------------------------- >> For list details see >> http://www.magnolia-cms.com/home/community/mailing-lists.html >> To unsubscribe, E-mail to: <[email protected]> >> ---------------------------------------------------------------- > > Best regards, > > Christian Ringele > Magnolia International Ltd. > > Magnolia® - Simple Open Source Content Management > > > > ---------------------------------------------------------------- > For list details see > http://www.magnolia-cms.com/home/community/mailing-lists.html > To unsubscribe, E-mail to: <[email protected]> > ---------------------------------------------------------------- ---------------------------------------------------------------- For list details see http://www.magnolia-cms.com/home/community/mailing-lists.html To unsubscribe, E-mail to: <[email protected]> ----------------------------------------------------------------
