Drupal 菜单中的样式
Styles in Drupal menu
我需要将样式放入 Drupal 菜单中。我有这个代码:
print theme('links', array('links' => menu_navigation_links($menu_area), 'attributes' => array('class'=> array('nav', 'navbar-nav')) ));
具有 "nav navbar-nav" 样式,但 - 具有我无法触摸的自定义 CSS 样式(首先是 menu-7053)。
有什么办法可以用打印主题功能改变
- 的风格吗?
谢谢。
不可以,您需要在主题中实现自己的 theme_menu_link
功能。
function YOURTHEME_menu_link(array $variables) {
$element = $variables['element'];
$sub_menu = '';
$element['#attributes']['class'][] = 'my-custom-li-class'; // change here to desired css class name
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
您可以使用 Menu attributes(https://www.drupal.org/project/menu_attributes) 模块并通过从后端编辑菜单项将 class 添加到 li。请查看下面的屏幕截图:
我需要将样式放入 Drupal 菜单中。我有这个代码:
print theme('links', array('links' => menu_navigation_links($menu_area), 'attributes' => array('class'=> array('nav', 'navbar-nav')) ));
- 具有 "nav navbar-nav" 样式,但
- 具有我无法触摸的自定义 CSS 样式(首先是 menu-7053)。
有什么办法可以用打印主题功能改变
- 的风格吗?
谢谢。
不可以,您需要在主题中实现自己的 theme_menu_link
功能。
function YOURTHEME_menu_link(array $variables) {
$element = $variables['element'];
$sub_menu = '';
$element['#attributes']['class'][] = 'my-custom-li-class'; // change here to desired css class name
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
您可以使用 Menu attributes(https://www.drupal.org/project/menu_attributes) 模块并通过从后端编辑菜单项将 class 添加到 li。请查看下面的屏幕截图: