Это устаревший способ, который может быть полезен в ряде случаев, чаще всего вам будет проще использовать встроенный навигатор.
Построить подобный навигатор можно при помощи внешнего модуля Views tree
Установите модуль, включите и создайте новое представление.
- Создайте новое представление, выбрав в качестве формата отображения "поля";
- Выберите Select the Tree (Adjacency model);
- Добавьте поля в вывод "Содержимое: Заголовок", "Содержимое: Nid", "Содержимое: Родительский каталог";
- В критерий фильтрации добавьте "Содержимое: Тип" и выберите "Папка каталога";
- В настройках формата Tree (Adjacency model) выберите в "Main field" настройку "Nid", в "Prant field" настройку "Содержимое: Родительский каталог";
- При необходимости, добавьте представление в меню.
Пример:
Код импорта представления[править]
Вы можете импортировать представление кодом ниже и настроить его на свой вкус:
$view = new view();
$view->name = 'classification_view';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Навигатор по каталогу';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Навигатор по каталогу';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['use_more_text'] = 'ещё';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'time';
$handler->display->display_options['cache']['results_lifespan'] = '21600';
$handler->display->display_options['cache']['results_lifespan_custom'] = '0';
$handler->display->display_options['cache']['output_lifespan'] = '21600';
$handler->display->display_options['cache']['output_lifespan_custom'] = '0';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['submit_button'] = 'Применить';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Сбросить';
$handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Сортировать по';
$handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'По возрастанию';
$handler->display->display_options['exposed_form']['options']['sort_desc_label'] = 'По убыванию';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'tree';
$handler->display->display_options['style_options']['main_field'] = 'nid';
$handler->display->display_options['style_options']['parent_field'] = 'field_parent_catalog';
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['row_options']['inline'] = array(
'title' => 'title',
);
$handler->display->display_options['row_options']['hide_empty'] = TRUE;
/* Поле: Содержимое: Заголовок */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
/* Поле: Содержимое: Nid */
$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'node';
$handler->display->display_options['fields']['nid']['field'] = 'nid';
$handler->display->display_options['fields']['nid']['exclude'] = TRUE;
/* Поле: Содержимое: Родительский каталог */
$handler->display->display_options['fields']['field_parent_catalog']['id'] = 'field_parent_catalog';
$handler->display->display_options['fields']['field_parent_catalog']['table'] = 'field_data_field_parent_catalog';
$handler->display->display_options['fields']['field_parent_catalog']['field'] = 'field_parent_catalog';
$handler->display->display_options['fields']['field_parent_catalog']['label'] = '';
$handler->display->display_options['fields']['field_parent_catalog']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_parent_catalog']['delta_offset'] = '0';
/* Критерий сортировки: Содержимое: Дата публикации */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
/* Критерий фильтра: Содержимое: Опубликовано */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Критерий фильтра: Содержимое: Тип */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'subj' => 'subj',
);
/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'catalog-navigator';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'Навигатор';
$handler->display->display_options['menu']['weight'] = '0';
$handler->display->display_options['menu']['context'] = 0;
$handler->display->display_options['menu']['context_only_inline'] = 0;
$translatables['classification_view'] = array(
t('Master'),
t('Навигатор по каталогу'),
t('ещё'),
t('Применить'),
t('Сбросить'),
t('Сортировать по'),
t('По возрастанию'),
t('По убыванию'),
t('Nid'),
t('Page'),
);