Помогите с советом!
Как создать пункты меню разного цвета?
Никаких модулей для меню не использую. Стили задаются для всего меню в целом. А мне надо каждый пункт меню раскрасить (фон) своим конкретным цветом.
Пробовал средствами JavaScript перебирать все пункты меню вызовом функции GetElementByTagName("а"), которая возвращает массив, и для конкретных елементов массива менял свойства тега, но есть неувязочка. При раскрытии пункта меню меняется количество тегов ..., которые я искал скриптом, и у меня нет возможности на каждой странице написать скрипт и посчитать какой тег на каком месте в массиве.
Как решить эту задачку? Подскажите.
Комментарии
Не вижу Вашу версию drupal, в 6 у каждого пункта меню уникальный класс, через css можно всё так разукрасить...
Если 5, скорей всего придется его в template.php переопределять и навешивать стили.
Версия 6.15.
Там классы задаются для всех пунктов мень один и тот же:
<li class="collapsed first"><a title="" href="/new_product">Новые товары</a></li>
<li class="collapsed"><a title="" href="/new_product1">Новые товары1</a></li>
<li class="collapsed"><a title="" href="/new_product2">Новые товары2</a></li>
...
Тоесть стиль "collapsed" один для всех.
Надо для каждого элемента
<a>
, или<li>
, определить свой, отличный от других, стиль.функция theme_links(); вам в руки.
Нашел функцию в файле \include\theme.inc.
А что надо дописать чтоб например для каждого пункта меню был свой ID независимо от выбраного пункта меню(тоесть открытой страницы) или раскрытого\закрытого пункта?
Вы с php дружите?
А с темизацией?
Дружим с php. С темизацией не очень, потому как не знаю откуда этот термин. Если создание тем - то да, сам делал, взяв за основы стандартные темы.
В принципе функция theme_links(); читабельна по коду и мне полностью понятна, что и где там делается.
Проблема в следующем - как сделать какой-то счетчик, который можно было бы использовать в этой функции, и который не зависел бы от глубины меню.
А где, когда и сколько раз вызывается эта фуннкция?
счетчик там уже есть это $i
Вызывается она везде, где строятся списки из ссылок кроме праймари и секондари меню, они по умолчанию идут с уникальными классами для каждого пункта.
Подебажьте и сразу все поймете
Решено с помощью JacaScript: получил обьект-контейнер с меню, перебрал в нём все тэги
<a...>...</a>
, из них с теми, у которых свойствоhref
удовлетворяет необходимое условие, поменял стиль (раскрасил).