<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
They're actually css menus only.&nbsp; The thing is, i'm quite certain I can
build what i need to with drupal i'm just having trouble with the
documentation.&nbsp; I won't rant about it, i don't really have the time and
i'm sure you don't either.&nbsp; <br>
<br>
The main things I'm dealing with is <br>
1: very specific (but not that unusual) requirements of what menus
should do on the site<br>
2: a site that got mostly built already in a commercial cms that can't
handle even the most basic requirements - I'm in damage control mode
now trying to salvage a project by bringing it to drupal.<br>
<br>
In the meantime I used the nice_menus module for the top nav which
pretty much can do what I need it to do in the short term, but may
cause problems once there is a third level which shouldn't show in the
top nav.&nbsp; Now I'm trying to get the left nav to display how that
should.&nbsp; I'm basically doing a lot of print_r in my templates right now
so I can get an idea of what's going on.&nbsp; <br>
<br>
given this structure:<br>
- home<br>
&nbsp;- top level links<br>
&nbsp;&nbsp; - 2nd level<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 3rd level<br>
<br>
top nav: show on all pages, display top level links and their 2nd level
links (through css dropdowns)<br>
left nav: show on top level links and below, list top level link and
2nd level links when on top level, list top level link, 2nd level links
and current 2nd level link's children indented when on 2nd or 3rd level<br>
<br>
So I don't need javascript or JQuery for this - if I can get arrays
containing these elements then I can use template override functions,
custom php code or whatever else to get what I need.&nbsp; I'd rather not
write a module for this but if that's the only option I'll go that
route.<br>
<br>
thanks<br>
.sander<br>
<br>
Metzler, David wrote:
<blockquote
 cite="mid:25C3492D5925964585F542C770231C120262BD70@oak.evergreen.edu"
 type="cite">
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.2900.2180" name="GENERATOR">
  <div dir="ltr" align="left"><span class="361485619-17082007"><font
 color="#0000ff" face="Arial" size="2">You might consider abandoning
the primary links construct and just create a custom region for your
theme and put the primary links block in that region.&nbsp;If&nbsp;the
"menu-block" gives you what you wan't that might work. You then disable
primary and secondary links in the menu. </font></span></div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"><font
 color="#0000ff" face="Arial" size="2">That being said.&nbsp; It sounds like
your problems are that your javascript is doing a a lot of DOM walking
specific stuff (otherwise why would extra divs be a problem?).&nbsp; Is that
accurate? &nbsp; This is part of what JQUERY was written for. In JQUERY you
can bind to on-click events using typical CSS selectors.&nbsp; That rocks
for this kind of work (even if I don't do a ton of it).&nbsp; </font></span></div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"><font
 color="#0000ff" face="Arial" size="2">I realize that you have some
already tested code.&nbsp; But if it's highly specified to the organization
of the document it could cause you a lot of problems in the long run,
so&nbsp; I thought you'd want to know about JQuery. </font></span></div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"><font
 color="#0000ff" face="Arial" size="2">Hope some of this helps anyway. </font></span></div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"><font
 color="#0000ff" face="Arial" size="2">Dave</font></span></div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="361485619-17082007"></span>&nbsp;</div>
  <br>
  <div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
  <hr tabindex="-1"><font face="Tahoma" size="2"><b>From:</b>
<a class="moz-txt-link-abbreviated" href="mailto:support-bounces@drupal.org">support-bounces@drupal.org</a> [<a class="moz-txt-link-freetext" href="mailto:support-bounces@drupal.org">mailto:support-bounces@drupal.org</a>] <b>On
Behalf Of </b>sander-martijn<br>
  <b>Sent:</b> Thursday, August 16, 2007 5:15 PM<br>
  <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:support@drupal.org">support@drupal.org</a><br>
  <b>Subject:</b> Re: [support] Menu question<br>
  </font><br>
  </div>
Making some progress here.&nbsp; I've realized that to some extent what I
want to do is override theme_menu_tree and theme_menu_item.&nbsp; That gives
me some of the control I need BUT the default menu system still has
extra junk I don't want (such as a Primary links header) AND I need two
types of menu trees that display different things - one horizontal in
the top (primary links) and one vertical down the left (current section
and its children).&nbsp; <br>
  <br>
so far i think menus are a pain in the ass in drupal.&nbsp; a tradeoff for
the power but I think the multiple meanings that the word "menu" has in
drupal just adds to the confusion of it all.&nbsp; What I need is really not
that complicated, but it's becoming incredibly complicated fast.<br>
  <br>
sander-martijn wrote:
  <blockquote cite="mid:46C4D024.8030207@sander-martijn.com" type="cite">
    <pre wrap="">I want to customize my menus, but since I want it to work with the 
html/css/javascript code I've already written and tested I want to get 
the system to output the menu in html as I want it.  Actually what I 
need is quite simple.  I don't really want to try to customize someone 
else's module and I'd rather not build one.  After some digging around I 
figured out that I could override the theme_menu_links method in my 
template.php file.  Now that's exactly what I need... I got really 
excited but I must have some things missing/misunderstood.


what I have in the menu system under primary links:
primary links
  - menu item 1
     - menu 1 subitem 1
     - menu 1 subitem 2
  - menu item 2
     - menu 2 subitem 1

etc - fairly standard

What I need to output is the following:

&lt;ul id="nav1" class="nav"&gt;
  &lt;li&gt;&lt;a href="#"&gt;menu item 1&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="#"&gt;menu 1 subitem 1&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;menu 1 subitem 2&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;ul id="nav2" class="nav"&gt;
  &lt;li&gt;menu item 2
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="#"&gt;menu 2 subitem 1&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

etc. - also pretty straight forward.

SO - I put in page.tpl.php the following:
&lt;?php print theme('menu_links', $primary_links); ?&gt;

and put in template.php the following:
function tpg_menu_links($links){
  if (!count($links)) {
    return '';
  }
  $level_tmp = explode('-', key($links));
  $level = $level_tmp[0];
  $output = "&lt;ul id=\"nav\" class=\"nav\"&gt;\n";
  foreach ($links as $index =&gt; $link) {
    $output .= "&lt;li&gt;". l($link['title'], $link['href'], 
$link['attributes'], $link['query'], $link['fragment']) ."&lt;/li&gt;\n";
  }
  $output .= '&lt;/ul&gt;';

  return $output;
}
?&gt;

Which is basically a modified version of theme_menu_links in menu.inc

It works as a start, but there are a couple of issues. 
1. even though my class attribute in $output is hard coded, it's still 
being replaced by class="active" when you're on the page.  Not a 
disaster, i can always modify my css to do the same thing for 
class="active" as class="nav".
2. this is the bigger issue.  It's not outputting the subitems.  I'd be 
happy to add in the proper call in the foreach loop to either call 
another function that i also override or to load them directly in here 
if anyone can point me in the direction of what i need to call in order 
to load them.


  </pre>
  </blockquote>
  <br>
  <div class="moz-signature">-- <br>
  <hr align="center" noshade="noshade" size="1" width="100%">
  <p
 style="font-weight: normal; font-size: 10px; text-transform: lowercase; color: rgb(51, 51, 51); font-style: normal; font-family: verdana,arial,helvetica,sans-serif; text-align: center;"><a
 moz-do-not-send="true"
 style="color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif; text-decoration: none;"
 href="mailto:sander@sander-martijn.com">sander-martijn</a><br>
interface developer | architect<br>
  <a moz-do-not-send="true"
 style="color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif; text-decoration: none;"
 href="mailto:sander@sander-martijn.com">sander@sander-martijn.com</a><br>
  <a moz-do-not-send="true"
 style="color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif; text-decoration: none;"
 href="http://www.sander-martijn.com">www.sander-martijn.com</a> </p>
  <hr align="center" noshade="noshade" size="1" width="100%">
  </div>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<hr align="center" noshade="noshade" size="1" width="100%">
<p
 style="text-align: center; font-family: verdana,arial,helvetica,sans-serif; color: rgb(51, 51, 51); font-size: 10px; text-transform: lowercase; font-style: normal; font-weight: normal;"><a
 href="mailto:sander@sander-martijn.com"
 style="text-decoration: none; color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif;">sander-martijn</a><br>
interface developer | architect<br>
<a href="mailto:sander@sander-martijn.com"
 style="text-decoration: none; color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif;">sander@sander-martijn.com</a><br>
<a href="http://www.sander-martijn.com"
 style="text-decoration: none; color: rgb(0, 0, 255); font-family: verdana,arial,helvetica,sans-serif;">www.sander-martijn.com</a>
</p>
<hr align="center" noshade="noshade" size="1" width="100%"></div>
</body>
</html>