Сделать видимую основную ссылку недоступной для клика - PullRequest
1 голос
/ 03 сентября 2010

На моем сайте Drupal у меня есть набор первичных ссылок.Те, которые расширяются, я хотел бы, чтобы родитель не мог щелкнуть мышью, например

  -home
  -about
    -history
    -website

Только страница, история, веб-сайт должны ссылаться на страницу.Если пользователь нажимает about, ничего не должно произойти.Я пробовал искать по панелям администратора, а также оставляя поле пустым, но, похоже, оно не работает.Я бы предположил, что мне придется жестко закодировать это?Если да, то как?

Ответы [ 4 ]

3 голосов
/ 03 сентября 2010

Попробуйте этот модуль http://drupal.org/project/special_menu_items

Это, пожалуй, самый простой способ достичь того, что вы хотите.

0 голосов
/ 23 июля 2014

Вам просто нужно добавить в путь фразу <nolink>.

0 голосов
/ 03 сентября 2010

Добавление функции yourtheme_menu_item в template.php, кажется, способ сделать это.Документация для исходной функции: http://api.drupal.org/api/function/theme_menu_item

Функция передает переменную $has_children и переменную $menu, поэтому при необходимости можно легко настроить элементы Первичного меню для детей.*

Пример кода без проверки:

function yourtheme_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
  // ... original theme code copy-pasted ...
  if ($has_children) {
    $modified_link_name = youtheme_write_menu_item_without_links($link);
    return '<li class="'. $class .'">'. $modified_link_name ."</li>\n";
  } else {
    // From original function
    return '<li class="'. $class .'">'. $link . $menu ."</li>\n";
  }
}
0 голосов
/ 03 сентября 2010

Если вы можете с этим жить, самое простое решение - использовать js для отключения кликов.

...