To continue from where Miguel left off, I have a number of sites using Spry Menus and use ADDT's Nested Repeat Region SB to list the links and then turn that into a dynamically created XML file that feeds Spry Menus. My sites so far only have 2 levels of navigation.
Initially there is a lot to it and includes:
1. The database design, specically the table for the site content. I use a single table for basic site data which is something like the following:
- id_pag - the primary key for the table and used to identify the top level page
- idpag_pag - a self foreign key which identifies the second lavel page. The default is NULL except when a second level page is required
- -menuLink_pag - essentially the label used in the menu
- filename_pag - the file to be used by this page
- banner_pag - the banner image for that page
- metaTitle_pag - the meta title for the page
- pageHeading - the heading in the page's content area
- pagecontent_pag - the actual content for the page
- metakeywords_pag - the list of keywords
Also included in the table are the meta description , is this page included in the site navigation, is the page "Active" and the Order in the menu list.
I use ADDT's Dynamic Lists and Forms together with the Master/Detail lists to manage the data/content.
The next thing to consider is the creation of an XML file for the Spry Menu and I use the ADDT Nested Repeat Region SB to generate a list of the menu links from the page table referred to above. I then adapt this into a dynamic XML file that will contain the elements of the menu and setup a Spry nested data set and spry menu to consume the XML and display the menu.
Lastly, I have elected to use ADDT's Server Side Includes from Table SB. This is not necessary and I have not been able to make this work as advertised, but is good enough for my purposes.
An example of a site using this approach is www.kv.com.au
The approach outlined here only caters for two levels of navigation but may be of some help to you if you need to take this a step further and support unlimited levels.
Hope this has been of some help.
Hi Miguel and Wollombi,
Thanks you both for your comments.
Wollombi, thats a nice approach, I'm not yet familiar with the Spry menu possibilities and I also never used the nested repeat region before.
I would really like to learn about using these but because this job has to be finished soon I had to rely on what I know allready, i created some custom code which seems to do the job, even with a 3 level menu.
The script uses 3 tables, covering 3 menu levels. Values can be edited with dynamic list and form pages.
I am aware this isnt perfect, data should be covered in one table for example, the code could be alot cleaner i guess but for now i'm ok with it. Also when a user would change a top level menu, the reference in lower menu items will break. But ehm, crap ;p
Thanks and kind regards,
Please read this tutorial to learn how to build dynamic dropdown menues with dreamweaver and addt, also it guide you to learn how to make a relation between a number of tables together by using the dependent dropdown menu server behavior.
Well, your code looks indeed intesting. Wish I could add more.
Overnight I have been thinking about the Nested Repeat Region SB and have not come to grips on using it for more than 2 levels. I think another approach is required that may use a many to many table. One day I will explore this further. Ulimately there are two challenges: the database design and the menu code. I wonder how Joomla manages this......
The Holy Grail would be to design a dynamic menu system that supports unlimited levels. Wouldn't it be great if ADDT had this in the next release ! Oh well, we can but dream.
In the meantime, I can offer what I used for inspiration.
Firstly, It may be worthwile reading the Spry docs on data sets, etc in the Spry Docs and Spry Samples pages. Start here: http://labs.adobe.com/technologies/spry/docs.html This is needed to be able to figure out how to use Spry Menus dynamically.
Next, Interakt still have online the Tutorials and invaluable "How To" examples for the old MX Kollection here: http://www.interaktonline.com/Documentation/MXKollection/mx_kollection.htm Many of these are very useful in developing strategies for site designs situations.
And also the Tutorials and How To examples for the old MX CSS Menus here: http://www.interaktonline.com/Documentation/MXCSSMenus/ - These I found very valuable.
Hi all, please I need your assistence here. I'm exactly on the same problem right now. Need to create a dynamic menu and my deadline is really close!! I will start reading the informations available here, but please, can I post back here any issues? I think this is the correct post for doing it, since I'm on exactly the same scenario. :s
you can post issues if u like, ill keep an eye on this tread.
I came quite a way by making an 'unlimited' dynamic menu, but! along the way the customer didnt need an unlimited dynamic menu afterall so i stopped this thing because i didnt want to spend more time at it at this moment.
things i did to make it almost work:
- create a mysql table to hold menuitems, things like id, name, id for the master menuitem, active 0/1 to enable or disable items, description for the menuitem.
- some dynamic list and form wizard pages to manage the menuitems.
- the page where the menu should appear with a custom repeat region thing which displays the menuitems in the correct order and format.
- dynamic selecting menu's in the dynamic list detail page, the user has to choose the top level menu item and the menu shows the available items from the database.
Creating the page where the menu appears was most of the work because after getting all menuitems from the database it had to be sorted and filtered in the correct ways. But it did work pretty good so far.
Things i didnt solve yet were:
- when deleting an item, lower level items should be automaticly be deleted aswell. (or maybe the user should be able to choose to place them all under another existing menuitem)
- Some problems with displaying the menuitems/descriptions
A little example of the menu displaying page code can be found here: http://www.wicservices.nl/examples/menu.txt
I dont know if its of any use, it is not finished at all but maybe you can use it in some way.
this is the menu i came up with eventually, its really static haha but it does the trick for this project so im fine with it: http://www.homeplazabeverwijk.nl/index.php?page=producten
Hi Symvar and Marcio
Eventually, I decided to drop that and I have reverted back to the old Interakt CSS Menus - I firmly believe this is the absolute best thing out there. Unfortunately it is no longer sold. I just hope that when the next version of ADDT arrives it includes a replacement for the Interakt CSS Menu. The combo of Interakt CSS Menus (or SPRY/PHP/MySQL for that matter) and ADDT Includes from Table allows a very nice CMS to be created in very short time.
In the meantime, you might like to have a look at this example which is very useful. I have not tried it yet.
Thanks a lot WollombiWombat for your comments.
Do you know a way, or are you using, the MX CSS Menu with dreamweaver CS3 ?
I've read something in the past about this, and I know its possible, but I believe it needs a little "hacking" around to make it work. I just can't find that post anymore. :s It was on the old interakt forum.
ps- I believe there's no license restrictions about this. The only issue is that, it's not official.
I use DW8 to create the CSS Menu and then do the rest of the development work in DWCS3/ADDT. If I need to make chnages to the CSS Menu I either make them manually or open the site up in DW8 again.
As far as I know, the CSS Menu's Extension cannot be installed to DWCS3.
Hope that helps. / Cheers
Guys, I do have here a short tutorial on how to make dynamic menus in Dreamweaver. The menus are not CSS based, but you get the menus done in 10-15 minutes, of course, using an extension.
Are you still using the InterAKT's CSS menus? They were done after I left so I don't remember exactly how they worked.