Каждому меню свой класс, как в верстке!

Прислано: ValBangMan

пн, 29/12/2008 - 09:30

Меню выводятся списками, поэтому я в файле template.php, расположенном в каталоге с темой, переопределяю вывод меню следующим образом [работает, но действует на все списки!!!]:

function phptemplate_menu_tree($tree) 
{
	return '<ul>'.$tree.'</ul>';
}

Вопрос в том, как определить id меню, которое обращается к функции phptemplate_menu_tree($tree) в данный момент, чтобы для него один стиль вывода сделать, для другого меню другой...а для всех остальных списков, которые могут встречаться в новостях и пр., определить отдельный стиль, то есть, чтобы получилось что-нибудь вроде такого:
function phptemplate_menu_tree($tree) 
{
	if (какая-то_глобальная_переменная = машинное_название_меню_1)
		{
		return '<ul class="none clean" id="menu_main">'.$tree.'</ul>';
		}
	if (какая-то_глобальная_переменная = машинное_название_меню_2)
		{
		return '<ul class="none" id="menu_semifunc">'.$tree.'</ul>';
		}	
	else
		{
		return '<ul style="article-list-style">'.$tree.'</ul>';
		} 	
}

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано volocuga в пн, 29/12/2008 - 12:55.

поскольку я не програмер,я в таких случаях просто создаю свой шаблон блока (это если меню выводятся в стандартных блоках),в нём прописываю дополнительный див и дальше стилями... Все меню-разные


Опубликовано ValBangMan в вт, 30/12/2008 - 12:50.

volocuga, а подробнее можно?


Опубликовано volocuga в вт, 30/12/2008 - 17:56.

В такой последовательности:
1)включаю меню и смотрю firebug-ом какой div ID у моего меню система сгенерировала.Там будет что то типа div id ="block-menu-197" (197-это дельта,может быть какая угодно цифра)

2)Создаём свой шаблон для этого блока и называем block-menu-197.tpl.php (по имени дива)

3)вставляем в шаблон своё содержимое.У меня нет титлов блока,поэтому всё просто:

<div id="my_custom_menu">
    <?php print $block->content; ?>
  </div>

4)Каскадируем

#my_custom_menu ul {
ваши свойства тут;
}

Такое меню будет отличное от других ul,так как у нас есть привязка к диву my_custom_menu