I am in the process of upgrading a site from Drupal 5 to Drupal 6. I've been using the advanced simplemenu feature where you can attach the menu to a named CSS element rather than having it appear fixed at the top of the screen.

When this feature didn't work, I started digging. As near as I can tell the value set in Drupal variable simplemenu_element is simply never used within the simplemenu module's JS.

Snippet from simplemenu_init()

    $settings = array(
      'effect' => variable_get('simplemenu_effect', 'opacity'),
      'effectSpeed' => variable_get('simplemenu_effect_speed', 'fast'),
      'element' => variable_get('simplemenu_element', 'body'),
      'hideDelay' => variable_get('simplemenu_hide_delay', 800),
      'placement' => variable_get('simplemenu_element_method', 'prepend'),
      'detectPopup' => variable_get('simplemenu_detect_popop', 1),
    );
    drupal_add_js(array('simplemenu' => $settings), 'setting');

works as expected and injects the variables into the page.

I'm not able to find any reference to Drupal.settings.simplemenu.element within the Javascript to place the menu within that element.

Am I missing something? Or has this feature been lost/broken somewhere between Simplemenu 5.x-5.0 and 6.x-1.2?

Comments

AlexisWilke’s picture

Status: Active » Postponed (maintainer needs more info)

Scott,

It looks to me that this is here... and I think that's from 1.2. Did you ever resolve this problem?

Thank you.
Alexis Wilke

  // get the element to add the menu to
  var element = Drupal.settings.simplemenu.element;
  var menu = $(simplemenu).attr("id", "simplemenu").addClass('clear-block');

  switch (Drupal.settings.simplemenu.placement) {
    case 'prepend':
      $(menu).prependTo(element);
      break;
    case 'append':
      $(menu).appendTo(element);
      break;
    case 'replace':
      $(element).html(menu);
      break;
  }
AlexisWilke’s picture

Status: Postponed (maintainer needs more info) » Closed (fixed)

No answer for a month. Closing. It is old and it seems that this is already working in D6.