По дефолту secondary links выводится в коде с помощью
'links', 'id' => 'subnavlist')) ?>>
По дефолту каждый элемент выводимой ссылки имеет тип "list-item" (то есть ul, li и т.п.).
Как сделать, чтобы primary/secondary линки выводились в виде таблицы (table, div, span) или любого другого элемента, но только не li/ul
Смотрю в коде, где они генерируются и в упор не вижу...
Если просто "голо" выводить в цикле
foreach($secondary_links as $s_item) {
echo '
';
} то естественно выводимые линки не будут корректны.
Комментарии
Попробуй в файле template.php переопределить функцию theme_links:
<?php
function имя_темы_links()
{
/*любой аутпут;*/
}
?>
Или, чтобы не портить остальное (эта функция много где используется) напиши в своей теме где Ромка говорит функцию типа
function mythemname_tbl_links {.... как тебе надо, а в месте обращения к ней будет стоять theme('tbl_links',...)
на 99% уверен, что вопрос о li происходит от недостаточных знаний css. что нужно визуально получить-то?
Вопрос задавал не я, но получить необходимо меню следующего вида см. приложенный файл.
Где верхнее меню - это Primary links, а правое меню - это Secondary links.
А что именно из картинки невозможно сделать с использованием ul/li?
Скажи на основе какой темы, напишу тутор )
Спасибо всем. Возможно, кому-то еще пригодится вот такое решение:
Берется файл includes/theme.php. Дабы не попортить чего другого, полностью копируется функция "theme_links", к примеру, с названием "function theme_my_links( ... ) { ". Внутри функции переделываем код (элементы ul и li) под то, что душе угодно.
Затем в коде (например, в page.tpl.php) вызываем функцию:
<?php print theme('my_links', $secondary_links, array('class' =>'links_sec', 'id' => 'subnavlist')) ?>
Да, это именно я и имел ввиду, просто расшифровывать некогда было.
Например правое меню (secondary links).
Сейчас вообще столкнулись с проблемой шрифтов. В макете использовался нестандартный шрифт Myriad Pro. Заменить его не представляется возможным поэтому придется делать жуткую нарезку и использовать Images в качестве пунктов меню.
Такая же проблема и правым меню. Шрифт там подобрать удалось, но на IE 6 и ниже он выглядит безобразно вот пример http://drinkmann.uninet.lv/user/punkt5.htm. (на IE 7 ОК - там antialiasing срабатывает). Так что это меню придется также через Images делать.
У кого-нибудь есть идеи как вообще такое обойти? А то макет сделали а реализовать его на HTML и CMS не получается
Сделал вроде всё как тут написанно.
Скопировал функцию theme_links в файл template.php обозвал её theme_my_links(только переименовал, больше ничего не делал)
в page.tpl.php пытаюсь вывести меню так
print theme('my_links', $secondary_links, array('class' => 'links', 'id' => 'subnavlist')) ;
в результате ничего не выводиться. Что я сделал не так? Может что то забыл?
у меня Drupal 6