Имеем меню созданное собственноручно и помещенное в сайдбар, да и вообще любой регион на странице.
При таком выводе пунктам меню не присваиваются классы типа "menu-xxx", как при выводе main_menu через функцию в файле page.tpl.php
Подскажите каким образом можно присвоить пунктам меню свои классы? А точнее, что надо писать в template.php, потому что знаю что, надо переопределить через функцию темизации меню, вот только как для меня вопрос
Комментарии
Как создано меню ? Если каждый элемент меню - элемент массива, то можно вывести так в page.tpl.php:
<?php
<?
echo theme('links__system_main_menu', array(
'links' => $yours_menu,
'attributes' => array(
'class' => array('main-menu'),
),
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
);
?>
Лишнее можно убрать (attributes, heading, text, level, class);
Повторяю меню собственными руками создано, а не main_menu.
Выводится через модуль "БЛОКИ"
В main_menu все и так зашибись, каждому li присваевается свой класс.
А в меню из блока li-шкам присваиваются классы leaf.
Ставь Nice Menus, в настройках отключи использование JavaScript и выводи через него свою менюшку. Он присваивает для любого меню класс машинного имени.
пока что делаю это так:
var menuItem = jQuery("#sidebar .menu li");
menuItem.removeClass();
menuItem.each(function(i) {
i++;
jQuery(this).addClass('item-'+i);
});
});
Сейчас посмотрим NiceMenus.![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Надо посмотреть, через что в модуле задаются классы и применить у себя
Я понял что руками - я предложил вывести своё меню таким же образом, как и главное. Меню сформировано через пхп код, или через хтмл ?
http://api.drupal.org/api/drupal/includes--menu.inc/function/theme_menu_...
комменты