Have a look at /farcry/core/packages/farcry/tree.cfc. There should be a function in there that you can use to get the ancestors of any navigation node, or just the ancestor at a particular level. You can then compare that to an alias you have set up, e.g. if qAnc[1].objectid eq application.navid.jphome.
On Fri, May 8, 2009 at 7:51 AM, Might Aswell <[email protected]> wrote: > > Thanks again for this tip (below).. as it does get my menus, but I > really want to know where my parent home is before hand so I can swap > out the header (previous post) > > <skin:genericNav navID="#request.navid#" > startLevel="1" > id="navbar" > depth="2" > bActive="true" > bHideSecuredNodes ="true" > bIncludeHome="false"> > > > > On May 7, 2:43 pm, Might Aswell <[email protected]> wrote: > > Hi Blair, > > > > Yes, I am displaying different menus with genericnav (the home nodes > > are at the same level, directly under root), but I also need to > > dynamically swap out displayHeader / displayFooters. as they have > > different requirements (for example, until I get verity set up fro > > japanese files, I need ot hide the search box, and this subsidiary has > > a different header logo) and I want to try and use the same webskin > > files for each content type. > > > > On May 7, 2:34 pm, Blair McKenzie <[email protected]> wrote: > > > > > > > > > You may not need to explicitly define the home node at all. It sounds > like > > > you want to display a different menu for different sections of the > website. > > > > > Are you using generic nav? If the respective home nodes are at the same > > > level in the tree you should be able to simply specify the current nav > node > > > and the level of the home nodes. i.e. navid=request.navid and level=3. > > > > > Blair > > > > > On Fri, May 8, 2009 at 7:27 AM, Might Aswell <[email protected]> > wrote: > > > > > > Jeff, > > > > > > Thanks, I really appreciate your helping. however, at this high a > > > > level, request.navid isnt defined yet, so how would I go about > passing > > > > my curernt navid to get ancestors to get my parent? > > > > If I want to get my parent nav id's alias, and I put something like > > > > the below in _serverSpecificRequestScope.cfm navid is not defined in > > > > request scope. I'm still quite newbie and I am not sure where > > > > everything gets set and when. > > > > > > <cfset lHomeAliases = "home,jp_home"> > > > > <cfset qAncestors = application.factory.oTree.getAncestors > > > > (objectid=request.navid)> > > > > <cfset listAncestors = QuotedValueList(qAncestors.objectid)> > > > > <cfset listAncestors = ListAppend(listAncestors,"'#request.navid#'")> > > > > > > <cfloop list="#lHomeAliases #" index="i"> > > > > > > <cfset thisaliasid = application.navid[i]> > > > > > > <cfif ListFind(listAncestors, "'#thisaliasid#'")> > > > > <cfset request.parentAlias = i> > > > > </cfif> > > > > > > </cfloop> > > > > > > On May 7, 12:11 pm, Jeff Coughlin <[email protected]> wrote: > > > > > > rather than invoking this in the header webskin, where would be a > good > > > > > > place to get/set this value so its available before any webskins > are > > > > > > called? > > > > > > > Chris, > > > > > > > Since you need it on each page request, I would advise setting the > > > > > variable to the request scope and save it in > projects/myProject/config/ > > > > > _serverSpecificRequestScope.cfm. That's how I've always done > things > > > > > like this. > > > > > > > -- > > > > > Jeff Coughlin > > > > > Web Application Developerhttp://jeffcoughlin.com-Hide quoted text - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text - > > > --~--~---------~--~----~------------~-------~--~----~ You received this message cos you are subscribed to "farcry-dev" Google group. To post, email: [email protected] To unsubscribe, email: [email protected] For more options: http://groups.google.com/group/farcry-dev -------------------------------- Follow us on Twitter: http://twitter.com/farcry -~----------~----~----~----~------~----~------~--~---
