Раскрываемое меню на основе таксономии

, 17 лет назад Drupal 1 мин чтения 2 комментария

Заметка 2009 года. Версии программ и описанные приёмы могли устареть.

Симпатичное меню на основе taxonomy, в котором каждый термин первого уровня раскрывается, показывая свои подтермины.

<?php

$vid = 1; // Id словаря, смените на нужный номер

$tree = taxonomy_get_tree($vid, 0, -1, 1);

print '<div class="kat">';

foreach ($tree as $term) {
  $items = array();
  $children = taxonomy_get_children($term->tid, $vid, 'tid');

  foreach ($children as $child) {
    $items[] = l($child->name, 'taxonomy/term/'. $child->tid);
  }
  $fieldset = array(
    '#title' => $term->name,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
    '#value' => theme('item_list', $items),
    '#attributes' => array('class' => 'accordian'),
  );
  print theme('fieldset', $fieldset);
}

print '</div>';
?>

Единственный недостаток такого подхода - нельзя кликнуть на термин первого уровня, т.к. он завернут в legend

2 комментария

Tesmon

А слева "Навигатор" с помощью этого сниппета сделан?

Tesmon

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

Новые комментарии закрыты: заметка из архива.