Чередующийся фон пунктов меню

Главные вкладки

Комментарии

Аватар пользователя edhel edhel 4 декабря 2009 в 19:33

Хе, а у меня получилось, что мне за это будет?)

<?php
function phptemplate_menu_item_link($link) {
if (empty($link['localized_options'])) {
$link['localized_options'] = array();
}
static $count;
if ($link['plid'] && $count[$link['plid']]++ % 2 == 0) $link['localized_options']['attributes']['style'] = 'background: yellow';
return l($link['title'], $link['href'], $link['localized_options']);
}
?>

Добавить эту функцию в template.php в теме. Потом зайти на страницу "модули", чтобы дрюпал прочухал эту функцию. Вместо "background: yellow" конечно лучше css-класс прописать.

Аватар пользователя gizza gizza 4 декабря 2009 в 20:04

круто, не совсем то, выделяется только фон текста, но это не так уж важно. спасибо огромное )

p.s. а что Вам за это надо? Smile

Аватар пользователя kosilko kosilko 4 декабря 2009 в 22:05

"gizza" wrote:
круто, не совсем то, выделяется только фон текста

может имеет смысл переопределить подобным образом theme_menu_item вместо theme_menu_item_link, и тогда стиль можно будет навесить на родительский тэг li

Аватар пользователя edhel edhel 4 декабря 2009 в 22:50

В theme_menu_item нет возможности получать идентификатор родительского пункта меню. Но выкрутиться можно: theme_menu_item вызывается сразу после вызова theme_menu_item_link, поэтому в phptemplate_menu_item_link можно сохранить plid в глобальную переменню и затем её использовать в phptemplate_menu_item.

Аватар пользователя gizza gizza 5 декабря 2009 в 2:49

знаете что интересно? - то что это форум для начинающих, но что еще интересней - я вас понимаю ) в понедельник на работе попробую, отпишусь, спасибо за содействие!