<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On 17 Jan 2007, at 8:21 AM, Earl Miles wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">-- path. This is not unique. It's often requested that one path could have<SPAN class="Apple-converted-space">  </SPAN>more than one visible link.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">-- parent. If you omit this, it can be autogenerated but for setting it to<SPAN class="Apple-converted-space">  </SPAN>some arbitrary value, let's say MENU_ROOT can be used to indicate a new<SPAN class="Apple-converted-space">  </SPAN>menu. With this (or via other means if someone has a better idea) we can<SPAN class="Apple-converted-space">  </SPAN>put links into any menu.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">-- title.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">-- weight.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">-- expanded.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 10.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">With path being unique in one and not unique in the other, I fail to see<SPAN class="Apple-converted-space">  </SPAN>how the two could be unified. And I fail to see the point as well. We<SPAN class="Apple-converted-space">  </SPAN>could lose path being an array key and make it a property again in<SPAN class="Apple-converted-space">  </SPAN>hook_router as it was in old hook_menu but then what shall happen if<SPAN class="Apple-converted-space">  </SPAN>someone defines two router items to the same path? This is a mess. The<SPAN class="Apple-converted-space">  </SPAN>above is nice and clean.</FONT></P> </BLOCKQUOTE></BLOCKQUOTE></DIV>I think there are 2 paths involved in this. Menu path (where to display the link) and target path.  I don't think there's a direct correlation between the menu path and the callback path,<BR><DIV>although it might default to that.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I think of the menu system as being a more evolved form of hook_link actually, which allows nesting. To me the key should be where it is displayed, and this might even include</DIV><DIV>the menu it is being displayed in. This way it is easy for us to have an _alter hook, that allows us to change where menu items are. ie: </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>$menu['node'] = array('path' =&gt; 'node', 'title' =&gt; 'Content');</DIV><DIV>$menu['primary:node'] = array('path' =&gt; 'node', 'title' =&gt; 'Home'); // two links to the same item, in separate trees.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>And then in menu_alter you could hide the elements ie:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>if ($menu['primary:node']) {</DIV><DIV>  unset($menu['primary:node']); // or</DIV><DIV>  $menu['primary:node']['type'] = MENU_DISABLED;</DIV><DIV>}</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Maybe we should look at the similarities between hook_link and hook_menu some more.</DIV></BODY></HTML>