[Решено] Темизация меню в виде шаблона типа menu-name-tpl.php

Прислано: kiev1

ср, 03/06/2009 - 21:24

подскажите пожалуйста как назвать шаблон для темизации меню, в 5-м было понятно, в 6-м все испортили и инструкции нигде нет (((

Комментарии


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

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано цщкв в чт, 04/06/2009 - 11:31.

По-моему через шаблон нельзя, только через функцию. Только блок с меню
через block-menu.tpl.php или block-menu-name.tpl.php


Опубликовано kiev1 в чт, 04/06/2009 - 15:09.

спасибо, так и сделал
меню называется menu-nav
файл создал block-menu-menu-nav.tpl.php
внутри файла код

<?php

  $nav 
menu_navigation_links('menu-nav');
  foreach (
$nav as $item) {
    print 
'<a href="'$item['href'] .'" class="menu1">'$item['title'] .'</a><br><br>';
  }
?>

все просто, но не стандартно (


Опубликовано PVasili в пт, 03/07/2009 - 21:58.

вопросы с многоязыковостью остаются...


Опубликовано klim в вт, 23/02/2010 - 14:25.

Странно когда нахожусь на главной странице, то все пункты меню имеют корректные ссылки.
как только захожу по одному из этих пунктов, у меня все адреса в пунктах становятся типа

http://site/node/node/xxx

почему дописывается лишний раз /node/ ?


Опубликовано klim в вт, 23/02/2010 - 14:39.

Ок, нашел баг, исправил в примере


<?php

  $nav 
menu_navigation_links('menu-nav');
  foreach (
$nav as $item) {
    print 
'<a href="/'$item['href'] .'" class="menu1">'$item['title'] .'</a><br><br>';
  }
?>


Опубликовано howt в пт, 12/03/2010 - 09:49.

Почему-то не срабатывает block-menu.tpl.php. Есть какие-нибудь хитрости?


Опубликовано klim в чт, 18/03/2010 - 20:10.

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

1. Активный пункт меню не выделяется
2. Не работают синонимы (вместо синонима указана ссылка типа node/xxx)

Как реализован обычный блок меню? Там и синонимы и выделение активного пункта работает.


Опубликовано fit в вт, 17/08/2010 - 20:18.

+1 не работает ссылка типа в ссылке выводит прямо её. Не выделает активный пункт. Не цепляет синонимы.

Есть что-то более универсальное?


Опубликовано klim в вс, 12/09/2010 - 13:00.

fit написал(а):

+1 не работает ссылка типа в ссылке выводит прямо её. Не выделает активный пункт. Не цепляет синонимы.

Есть что-то более универсальное?

Я делаю как-так :)


<?php
        $pathname 
$_SERVER['REQUEST_URI'];    
        list(
$blank,$path1,$path2,$other)=split("/",$pathname);
        
        
$nav menu_navigation_links('menu-topmenu');

        print 
'<table class="menu"><tr>';
        foreach (
$nav as $item) {
            if (
drupal_get_path_alias($item['href']) == $path1)
            {
                print 
'<td class="menu-active">';
                print 
'<a href="/'.drupal_get_path_alias($item['href']).'">'$item['title'] .'</a>';                
            }
            else
            {
                print 
'<td class="menu-link">';
                print 
'<a href="/'.drupal_get_path_alias($item['href']).'">'$item['title'] .'</a>';
            }
        }
        print 
'</tr></table>';
?>

синонимы подхватывает.


Опубликовано RxB в вс, 12/09/2010 - 14:21.

Ознакомьтесь с:
-l()
-theme('table')


Опубликовано klim в сб, 25/09/2010 - 19:28.

<?php
$nav 
menu_navigation_links('menu-topmenu'); 
?>

возвращает только верхний уровень (так и должно быть), но вот почему ничего не возвращает
<?php
$nav1 
menu_navigation_links('menu-topmenu',1); 
?>

не понятно.
Нужно вывести меню целиком, но сделать изменения в классах на пунктах меню.
<?php
print theme('menu_tree'menu_tree('menu-left'));
?>

выводит меню в стандартном виде. подскажите что нужно расковырять и положить в template.php чтобы кастомизировать вывод меню?


Новое на сайте

Ссылки партнёров