Multiple Views/Dynamic Menus On The Web

I was working on a website where I wanted to have a menu on the left side of each view, showing all categories in the view. Since it is not really allowed to have two embedded views in one form, I needed to come up with some other way to do this.

Each document have a category field. I also have a view called AllList, categorized by the category field. What we want to do is to open that view, displaying only the documents in that category when one of the links in the menu is clicked.

The first step is to create a hidden view. Let's call it "(Lookup Categories)".

I then enable the view property "Treat View contents as HTML".

In the first column, I put the following code:
"<IMG SRC=/database.nsf/nav_bullet.gif BORDER=0><A HREF=/database.nsf/AllList?OpenView&RestrictToCategory="+@ReplaceSubstring(Category;" ";"%20")+" CLASS="small">"+Category+"</A><BR>"

This will create HTML that we later want to embed.

I now create a $$ViewTemplate for the view. I use a table with two columns. The right one contains the field $$ViewBody, that is where the view content will show up. The left one is where we want the menu to show up. I simply put some computed text there, with the following formula:
@Implode(@Unique(@DbColumn("":"NoCache";"";"(Lookup Categories)";1)))

This will return and display the HTML generated in the hidden view.

That is the whole thing.

The site will shortly be up at www.pcwla.com, until then it can be viewed at http://dev.idgns.com/pcwla2.nsf/Webmain

This was first published in November 2000

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.