How can I adminstrate my navigation on my drupal site

A lot of questions come up about how navigation on drupal can be modified, tweaked, altered or any other synonym.

The theme: example, Internet explorer, Netscape, Opera, Lynx has two Navigation block that look like this (assuming you have managed to add link 'Mypage' there by defining a 'page'):

will show:

* Navigation

* news feeds

* archives

* blogs

* books

* forums

* polls

* search but also:


* create content

* recent posts

* news aggregator

Where the second one (create content etc.) changes its name to name of the user after the user logs in.

Themes: marvin and unconed have no generic navigation block but has the same links in the menu on the top of the page.

Other themes do not have any version of generic navigation block.

In the poast drupal used to have a , what I call "functional navigation". Each module -each function- could add a link to a general list of links. That list could then be displayed anywhere in drupal. The list has only one level. so subelements were not possible.

For most of the CMS powered sites a functional navigation is the best method of navigation: forums, blogs etc all have their own specific content-display and content navigation, based on their function.

But as of drupal 4.3 people started inventing all sorts of navigation modules. These modules would use tabs, blocks, or even hardcoded (D)html to make the navigation easy.

So in drupal 4.4 there was a general, standard "navigation" block introduced. But this one was not configurable. Only modules could add items in that block. So as of 4.5RC JonBob together with lots of others came up with a nice menu system, fully configurable, with permissions and of course multi-levelled (as was the previous too).

Q: I like the first, generic Navigation block but most of the themes do not display it, even after I enable Navigation block in the configuration of blocks.

A: The links list is still present in drupal, even in 4.5. You can print a list of linkes using for example:

$output .= theme("links", link page(), "

the list will then be something like blogs :: forum :: mypage :: weblinks

Not all themes use this function. In fact, nowadays only very few do. So you will need to add this manually somwhere.

For example in a custommade sideblock you can say:

<?php return $output .= theme("links", link_page()

Please refer to the documentation on about printing vs returning in blocks. This is different in some releases of drupal!

Q: What does the Navigation block in block config refer to? (which block displayed above is THE navigation block?)

A: That is the default drupal navigation blok. It offers multi-levelled navigation. It is also a place where some modules place their navigation too (event.module for example).

You can disable this block, but you will then not be able to get into your adminstration, other than typing in the urls by hand. So be carefull!

Q: Where is the first (generic) Navigation block defined? What to look for if I want to add it to my theme? I like xtemplate so far so that's where I would like to have the generic navigation block.

A: That is an implementaion of

<?php print $output .= theme("links", link_page() "<br /

Article Marketing Knockdown

Article Marketing Knockdown

The lifeblood of any online business is in being able to generate highly targeted, consistent traffic to your websites, landing pages and squeeze pages.

Get My Free Ebook

Post a comment