[Zope] Looking for a Navigation suggestion

complaw@hal-pc.org complaw@hal-pc.org
Wed, 23 Jan 2002 20:58:08 GMT


I ran into exactly this problem.  My firm usees a left-hand navigation bar, just
as yours.  Here is how I solved the problem.

In the standard_html_header object, for the code defining the navigation bar, I
include:

<dtml-var navigateFolders>
<dtml-ver navigateForums>
<dtml-var navigateDocuments>
<dtml-var navigateFolder_Specific>
<dtml-var navigateStandardLinks>


What the above does is call a series of DTML Methods that list (in the above
case) all the Folders in a particlar folder, the Squishdot forums, the DTML
Documents, any folder specific items, and then a list of standard links.  Note,
I could have made one big navigateEverything method, but decided against it
because I would have that much more code running around when all I wanted to do
was preclude one specific function.  The method I have above keeps the
navigation as a function of category, and is easier to manage, IMHO.

In the sub folders, many of the above won't exist so nothing will be displayed
(no harm there).  The navigateFolder_Specific is a "catch all" DTML method that
can be copied into a sub folder so that you can tailor navigation points for the
specific folder in question.  All of these DMTL Methods are acquired by the sub
folders.  This is good because you only need to create a custom navigateXXXX
DTML Method when you want to override the one in the root folder.  In most
cases, the methods in the default folder provide the desired behavior.  This
makes managing the site a snap.

Hope that helps.

Ron





> I am moving our Intranet from native HTML pages, using includes, Into Zope.
> The navigation we have is the typical collapsing list on the left-side of
> the page.
> We have a LOT on our navigation and it changes frequently. 
>  
> Instead of duplicating our site into Zope, I wanted to re-design the
> Intranet to use a new layout for the navigation.
> Is there a "Zope Way" of doing navigation that would help my Intranet be
> more efficient? Can you share links to examples?
>  
> Thanks
>  
> Allen May
> allen.may@mcsinet.com
> MCSi Web Admin
> 800.842.1702 x7628
>  
>