Темизация своего меню [Решено]

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

Аватар пользователя fit fit 17 августа 2010 в 0:26

Создал свое меню (заполняется путем добавления терминов таксономии) с машинным названием partitions, в template.php написал:

<?php
function moya_tema_mainmenu ($mainmenu){
    $output = '<div>';
    if (is_array($mainmenu)) {
        foreach($mainmenu AS $links){
            $output =  $output .'<span>'. l($links['title'], $links['href']). '</span>';
        }
    }
    $output = $output .'</div>';
    return $output;
}
?>

в page.tpl.php пишу <?php print moya_tema_mainmenu($menu_partitions) ?>

и никакого эффекта Sad

Где я ошибся?

Комментарии

Аватар пользователя xxandeadxx xxandeadxx 17 августа 2010 в 20:36

вы пишете

"fit" wrote:
в page.tpl.php пишу <?php print moya_tema_mainmenu($menu_partitions) ?>
и никакого эффекта =(

откуда берётся $menu_partitions и что в этой переменной? если переменной не существует то и эффекста естественно не будет

Аватар пользователя fit fit 17 августа 2010 в 20:46

аа... с пхп на ВЫ, поэтому ступор... Этот код я переделывал для своего меню, но изначально он был для Primary links...

Аватар пользователя xxandeadxx xxandeadxx 17 августа 2010 в 21:07

primary links это системное меню друпала, поэтому он автоматов генерит для него переменную в page.tpl.php, для других меню переменных нет. темизируйте меню в block-[modulename]-[delta].tpl.php

Аватар пользователя fit fit 17 августа 2010 в 22:20

эм.... тобишь файл называть так block-[меню]-[машинное_имя_меню].tpl.php или так: block-[меню]-[область_вывода].tpl.php ?
Тогда, код который я добавлял в template.php становится неуместным.. Что ж делать, если мне нужно сделать МОЕ меню такого вида:

<div class="mymenu">
<span><a>Item 1</a></span>
<span class="active"><a>Item 2</a></span>
<span><a>Item 3</a></span>
<span><a>Item 4</a></span>
</div>
Аватар пользователя fit fit 18 августа 2010 в 1:03

Крутышкам и партизанам отдельный привет и сенкс за помочи))
Вот работающий код для template.php

function phptemplate_menu_tree($tree)
{
       return '<ul>'.$tree.'</ul>';
}
 
function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL)
{
 
       return '<li>'. $link . $menu ."</li>\n";
}      

Больше ничего не нужно Smile