通过css定制drupal菜单?

通过css定制drupal菜单?,css,drupal-theming,Css,Drupal Theming,我一直在成功地摆弄drupal主题(或者至少,我是这么认为的),但是当我试图像通常通过html+css那样,将css编码注入主链接菜单来定制它时,我遇到了麻烦 我已经能够将css样式应用于div、links和text,但是我想更多地定制主(和次)链接菜单,也许使用一些css sprite菜单技术,但同时保持与drupal兼容,并在这个过程中使用drupal自己的php。或者如果我真的要重写一些代码,我不介意,尽管我还不是一个真正的程序员 我去过几个网站,但没有什么特别有用的东西,所以如果有人能给

我一直在成功地摆弄drupal主题(或者至少,我是这么认为的),但是当我试图像通常通过html+css那样,将css编码注入主链接菜单来定制它时,我遇到了麻烦

我已经能够将css样式应用于div、links和text,但是我想更多地定制主(和次)链接菜单,也许使用一些css sprite菜单技术,但同时保持与drupal兼容,并在这个过程中使用drupal自己的php。或者如果我真的要重写一些代码,我不介意,尽管我还不是一个真正的程序员

我去过几个网站,但没有什么特别有用的东西,所以如果有人能给我指出正确的方向,我将非常感激


thanx提前。

如果我正确理解了您的问题,您将希望向菜单中添加自定义类/id。这可以通过覆盖给定菜单的主题菜单树来实现。通过将以下内容添加到我的template.php文件,我可以在主菜单中执行此操作:

function THEMENAME_menu_tree__main_menu($variables){
return '<ul class="menu main-menu">' . $variables['tree'] . '</ul>';
}
函数名称菜单树主菜单($variables){
返回“
    ”。$variables['tree']”。
; }
希望这有帮助

您还应该看看该模块,它为您提供了模板函数等方面的建议

干杯,
若尔根

如果我正确理解了您的问题,您将希望在菜单中添加自定义类/id。这可以通过覆盖给定菜单的主题菜单树来实现。通过将以下内容添加到我的template.php文件,我可以在主菜单中执行此操作:

function THEMENAME_menu_tree__main_menu($variables){
return '<ul class="menu main-menu">' . $variables['tree'] . '</ul>';
}
函数名称菜单树主菜单($variables){
返回“
    ”。$variables['tree']”。
; }
希望这有帮助

您还应该看看该模块,它为您提供了模板函数等方面的建议

干杯,
Jørgen

您可以为每个菜单项添加一个类似id的类-在template.php中添加此函数

function mythemename_menu_item_link($link) {
  if (empty($link['localized_options'])) {
    $link['localized_options'] = array();
  }

  // LOOK HERE
  // add a key for main menu items, so we can theme each item in a different way
  // add this class only for a specific menu
  if ($link['menu_name'] == 'menu-menu-mymenu') {
    if ($link['localized_options']['attributes']['class']) {
      $link['localized_options']['attributes']['class'] .= ' menu-'. $link['mlid'];
    }
    else {
      $link['localized_options']['attributes']['class'] = 'menu-'. $link['mlid'];
    }
  }

  return l($link['title'], $link['href'], $link['localized_options']);
}

这段代码可以更简洁,但我添加了更多的行,以便您更好地阅读。

您可以为每个菜单项添加一个类似id的类-在您的template.php中添加此函数

function mythemename_menu_item_link($link) {
  if (empty($link['localized_options'])) {
    $link['localized_options'] = array();
  }

  // LOOK HERE
  // add a key for main menu items, so we can theme each item in a different way
  // add this class only for a specific menu
  if ($link['menu_name'] == 'menu-menu-mymenu') {
    if ($link['localized_options']['attributes']['class']) {
      $link['localized_options']['attributes']['class'] .= ' menu-'. $link['mlid'];
    }
    else {
      $link['localized_options']['attributes']['class'] = 'menu-'. $link['mlid'];
    }
  }

  return l($link['title'], $link['href'], $link['localized_options']);
}
这段代码可以更简洁,但我添加了更多的行,这样您可以更好地阅读它