Вы здесь

Пункт меню не являющийся ссылкой — 2 (JavaScript)

Версия системы: 
Друпал 7
Друпал 6
Друпал 5
Оглавление документа

Если эту функцию добавить в файл template.php, то в меню можно будет использовать пункт, который не будет являться ссылкой. Для этого, при создании пункта меню, в поле «Путь» нужно указать значение <none>. Для такого пункта меню будет генерироваться адрес javascript:void(0).

function НАЗВАНИЕ-ТЕМЫ_menu_item_link($item, $link_item) {
  if ($item['path'] == '<none>') {
    $attributes['title'] = $link['description'];
    return '<a href="javascript:void(0)">'. $item['title'] .'</a>';
  }
  else {
    return l($item['title'], $link_item['path'], !empty($item['description']) ? array('title' => $item['description']) : array(), isset($item['query']) ? $item['query'] : NULL);
  }
}

Дополнительные модули

  • DHTML Menu — перемещение по меню без перезагрузки страниц
  • Menu Firstchild — пункт меню не являющийся ссылкой
  • Menu item container — контейнер для пунктов меню
  • Special menu items module — добавление разделителей в списки пунктов меню

Комментарии

Изображение пользователя Алексей

Так, а мне система сообщает: "Ссылка '<_none>' введена неправильно или у Вас нет доступа к этому ресурсу." Сохранить подобный путь отказывается. Как быть?

Первый способ тоже не сработал - parse error и т.п.:(

Изображение пользователя Алексей

<_none> я, естественно, пишу без нижнего подчёркивания - без него setegnom пропускает это слово, видимо считая его опасным тегом=)