Drupal навигация в нижнем колонтитуле - PullRequest
0 голосов
/ 20 января 2012

На многих сайтах вы видите навигацию со ВСЕМИ ссылками в нижнем колонтитуле, в столбцах.Но когда у вас есть МНОГИЕ ссылки, вы хотите, чтобы некоторые элементы были в тех же столбцах.(пример: 12 элементов каждый с подпунктами, которые будут показаны в 6 столбцах)

Вы можете использовать:

<?php print(render(menu_tree_output(menu_tree_all_data('main-menu')))); ?>

Но тогда вы получите вложенные элементы UL.

Есть ли способ получить все ссылки в DIV?(не вложенный)

Пример, сделанный в Drupal: http://www.louvre.fr/

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Я сделал некоторый код, который делает то, что я хотел.Показать навигацию (2 уровня) в столбцах нижнего колонтитула.Если у кого-то есть лучший способ сделать это, дайте мне знать!

$my_menu = menu_tree_all_data('main-menu');
$my_array = array();

foreach($my_menu as $my_item){
    $my_array[] = l(t($my_item['link']['link_title']), $my_item['link']['link_path'], array('attributes' => array('class' => array('level-1'))));
    foreach($my_item['below'] as $my_below){
        $my_array[] = l(t($my_below['link']['link_title']), $my_below['link']['link_path'], array('attributes' => array('class' => array('level-2'))));
    }
}

$my_totalcount = count($my_array);
$my_count = 0;
$my_column = 1;
$my_columns = 6;
$my_percolumn = ceil($my_totalcount / $my_columns);

foreach($my_array as $my_item){

    if($my_count == 0) echo '<div class="footer-column footer-column-'. $my_column++ .'">';
    echo $my_item;
    $my_count++;

    if($my_count == $my_percolumn){
        echo '</div>';
        $my_count = 0;
    }
}
0 голосов
/ 20 января 2012

Ul генерируется файлами шаблона вашей темы.

Вместо этого вы можете использовать представления.Я бы сгенерировал список в представлениях.Это позволяет мне форматировать вывод как div intead ul.

В этом представлении я бы сделал его блоком, а затем поместил его в нижний колонтитул.

Надеюсь, это поможет, если не вернуться назад.

...