I'm new to Zope, but learning fast. I want my web site's pages to have a tab mechanism like /manage does. I've poked through the code enough to find the class Tabs, the file manage_tabs.dtml, and variables like manage_options. However, it still looks to me like there's no trivial way to plug this in to my user web pages the way I can do a tree (like /manage does) in one line and a short filter method. I would greatly, and urgently (demo Friday!) appreciate any suggestions on how to incorporate (flexible) tab views into my site pages. Do I need to create a subclass of Tabs? Do I need to define my own versions of various dtml methods used by manage_tabs? Is there a product that does something like this, either that I could use or that I could learn from? I can't be the first person to want this!?!
I would greatly, and urgently (demo Friday!) appreciate any suggestions on how to incorporate (flexible) tab views into my site pages. Do I need to create a subclass of Tabs? Do I need to define my own versions of various dtml methods used by manage_tabs? Is there a product that does something like this, either that I could use or that I could learn from?
I can't be the first person to want this!?!
I think you are on the right way. You can use the manage_tabs part as a start. If you create your own management pages, using the DTML Methods like in the examples of "main.dtml" or so in your own code should do the job. If you want tabs in your "normal" web pages, you will have to provide a different source of "tabs", e.g. you could have a folder of all the pages to be displayed and iterate over it, or provide a list property with all the tab names. See this rather complicated code from Kontentor (http://demo.iuveno-net.de/iuveno/Products/Kontentor/Demo) for help. It needs a list called "tabs" and all the color variables set to do its job: <table width="0%" border="0" cellspacing="1" cellpadding="4" bgcolor="#000000" class="bodytext" height="23"> <tr> <dtml-in tabs> <dtml-let tab=sequence-item> <dtml-call "REQUEST.set('tab_id',id)"> <dtml-in PARENTS> <dtml-if "tab==id"> <dtml-call "REQUEST.set('tab_id',tab)"> </dtml-if> </dtml-in> <dtml-if "tab==tab_id"> <td class="tabtextactive" bgcolor="<dtml-var chosen_tab_bgcolor>"> <dtml-with "_[tab]"> <center><dtml-var page_title></center> </dtml-with> </td> <dtml-else> <td bgcolor="<dtml-var tab_bgcolor>"> <dtml-with "_[tab]"> <center><a class="tabtext" href="<dtml-var absolute_url>"><dtml-var page_title></a></center> </dtml-with> </td> </dtml-if> </dtml-let> </dtml-in> </tr> </table> Joachim
participants (2)
-
Joachim Werner -
Mitchell L Model