通过css定制drupal菜单?
我一直在成功地摆弄drupal主题(或者至少,我是这么认为的),但是当我试图像通常通过html+css那样,将css编码注入主链接菜单来定制它时,我遇到了麻烦 我已经能够将css样式应用于div、links和text,但是我想更多地定制主(和次)链接菜单,也许使用一些css sprite菜单技术,但同时保持与drupal兼容,并在这个过程中使用drupal自己的php。或者如果我真的要重写一些代码,我不介意,尽管我还不是一个真正的程序员 我去过几个网站,但没有什么特别有用的东西,所以如果有人能给我指出正确的方向,我将非常感激通过css定制drupal菜单?,css,drupal-theming,Css,Drupal Theming,我一直在成功地摆弄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){
返回“
;
}
希望这有帮助
您还应该看看该模块,它为您提供了模板函数等方面的建议
干杯,
若尔根如果我正确理解了您的问题,您将希望在菜单中添加自定义类/id。这可以通过覆盖给定菜单的主题菜单树来实现。通过将以下内容添加到我的template.php文件,我可以在主菜单中执行此操作:
function THEMENAME_menu_tree__main_menu($variables){
return '<ul class="menu main-menu">' . $variables['tree'] . '</ul>';
}
函数名称菜单树主菜单($variables){
返回“
;
}
希望这有帮助
您还应该看看该模块,它为您提供了模板函数等方面的建议
干杯,
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']);
}
这段代码可以更简洁,但我添加了更多的行,这样您可以更好地阅读它