2.4. Using Suckerfish Menus

Suckerfish Menu

Suckerfish Menu AdminTapestry has son-of-suckerfish menus integrated into the theme. Using this feature, you can create a standard Drupal menu and present it as a dynamic drop-down menu that is compatible with most browsers.

Tapestry provides a region called suckerfish menu. If you publish a standard Drupal menu in this region, it will be displayed as a suckerfish drop-down menu. However, there are a few things you need to do in order for everything to work correctly.

To start with, you'll need a menu. You can create a new menu in Drupal by pointing your browser to /yoursite/admin/build/menu and clicking on the Add Menu tab. After creating a menu, you'll want to add your menu items one at a time by clicking on the Add Item link and entering the item information. Use the Parent Item selection box to organize your menu items into the desired structure.

It is very important that all Parent Menu Items in a suckerfish menu have the Expanded checkbox enabled. This option instructs Drupal to generate HTML code for the entire menu structure. If you do not enable this feature for a particular parent menu item, you will not see its child menu items.

Suckerfish Menu EditOnce you've create a menu and enabled the Expanded option for all parent menu items, you can publish the menu to the suckerfish region. Point your browser to /yoursite/admin/build/block and select the suckerfish menu region from the selection box next to your menu block name. Then click the Save Blocks button.

Tapestry's suckerfish menu is designed to present a single horizontal row of top-level menu items. If you publish a menu that has too many top-level items to fit in one row, you're not likely to get the behavior you expect.

Important! Internet Explorer 6 has a bug related to the CSS hover attribute that prevents pure CSS suckerfish menus from working correctly. Tapestry provides a javascript file that will work around this problem and allow suckerfish menus to work correctly in IE. If you want to use this feature, you must enable the 'Enable Suckerfish Javascript for IE6' checkbox on the theme settings page. If you do not enable this option, suckerfish menus will not work in IE6.

2.4.1. Adding Admin Options to the Suckerfish Menu

A standard Drupal installation comes with a default menu named Navigation. Within the Navigation menu is a nested sub-menu of Drupal configuration options named Administer. Only site administrators will see the Administer menu.

The Navigation menu is usually displayed in a sidebar. By moving the Administer menu to the suckerfish menu region, you can gain easy multi-level drop-down menu access to common administration tasks.

Suckerfish Admin Menu
There are two ways to do this. If you want to move the entire Navigation menu structure to the suckerfish menu area, you can point your browser to /yoursite/admin/build/block and change the region of the Navigation menu to suckerfish-menu.

What if you already have a different menu in the suckerfish region, and you simply want to add the Administer sub-menu to your existing suckerfish menu? You can move the existing Administer sub-menu. Point your browser to /yoursite/admin/build/menu, find the Administer submenu in the list of menu items, click the Edit link next to it, and change the Parent-item parameter to be your existing suckerfish menu.

Remember that you will need to enable the Expanded option on all parent menu items in the Administer menu. Otherwise, the child menu items will not be available in the suckerfish menus.