[development] Mapping aliases to menu items when having multiple aliases
Olivier Jacquet
ojacquet at jax.be
Thu Aug 13 12:10:22 UTC 2009
I'm looking for a way to create a module that allows you to map which
url alias you want to associate with a specific menu entry when you have
more than one alias associated with a system path. I've investigated
this and cannot seem to find a way to implement it.
The path module lets you create multiple url aliases for a node. The
paths some-path and other-path can both be pointed to node/1. When
someone creates a menu item and uses some-path to create it it's
converted to node/1 and it is that path that is stored in the menu_links
table.
Then, in the case of the blocks generated by the menu module links are
rendered through theme_menu_item_link() which calls l() which uses the
first alias it finds and for the primary/secondary menu it's usualy
theme('links', array()) which also results in a call to l(). In the
former theme function you have access to the mlid but in the latter you
haven't. This means there is no sane way to accomplish the functionality
I want, I think.
Does anyone have suggestions to accomplish this?
The reason I want this is that I want to store context in the url alias,
eg. context1/about and context2/about which point to the same node. This
allows showing different blocks when navigating through a specific
context. Maybe there is another way to achieve this?
Note: I'm aware of duplicate content issues etc.
More information about the development
mailing list