Steve,

Collins, Steve wrote:
Luckily this is easy enough to manage. The breadcrumb is simply a
presentation layer widget that takes a navigation point as a parameter. By default this is the parent dmNavigation object or application.navid.home if none is available. You just need to pass
in the objectid of the navigation point you want.

Would this be done more elegantly by using categorisation, as suggested above? It's something I've not delved into yet. Some ideas or a pointer to a HOWTO would be awesome.

Well you can build a breadcrumb anyway you like -- it's just that the out-of-the-box breadcrumb relies on the Navigation hierarchy of dmNavigation objects.

Have a look at the tag ../farcry_core/tags/webskin/breadcrumb.cfm  It
grabs all the ancestors of the navid (dmnavigation objectid) passed as
an attribute: defaults to request.navid.

Typically this is done in one of two ways: -- pass a navigation id
from the parent on the URL (or other state management option) and
pass this into the breadcrumb tag.  This allows you to retain the
exact hierarchy of the tree

By hacking the calendar display, for example?

You'd have to do two things. Modify the publishing rule (ie. the calendar view) to add a the navigation id parameter to the link used to reach the individual event display. And also modify the event display template so that it uses the url parameter and does not default to the home navigation id.

I'd say this is the trickiest of the two options... perhaps start with
the option below and see if that suits.

-- pass in a specific navigation point, usually using a nav alias.
 For example, with events you might set up an "events section" on
the website with an alias application.navid.events.  Then you could
make this part of the breadcrumb regardless of where the event was
 originally linked from

Okay, now I have NO IDEA what you're talking about. <cry>

Ok. A "nav alias" is created by selecting a navigation node from the tree, choosing edit, and selecting advanced options. One of the options is nav alias.

Basically whatever you type in their will become an application variable
which can be used to reference that navigation objects UUID.  For
example, you might type in "eventcalendar" for a node.  The nav UUID
would then be available throughout the app as
"application.navid.eventcalendar".  This is tremendously useful if you
need to hardcode a nav id for some reason.  That is, you can use the
variable rather than the UUID itself and so you can change the value of
the variable without having to rechange the code.

I'd say go for this option first.  A mini set of tasks:
1. create a nav node called Event Calendar
2. give the node a nav alias of "eventcalendar"
3. Create an HTML object underneath that nav node
4. Preview the HTML object and select DESIGNMODE
5. Schedule the event publishing rule into one of the containers
... now to set up the breadcrumb ...
6. open the ../yourproject/webskin/dmEvent/displayPageStandard.cfm
7. modify the breadcrumb tag as shown below...

<skin:breadcrumb
 separator=" / "
 here="#stobj.Title#"
 objectid="#application.navid.eventcalendar#">

8. test and deploy.

Hopefully that should work a treat,

-- geoff
http://www.daemon.com.au/


--- You are currently subscribed to farcry-dev as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004

Reply via email to