Всем доброго дня!
Имеется словарь таксономии с двухуровневой иерархией:
Группа1
- термин 1
- термин 2
...
и т.д.
Для генерации Breadcrumbs в нодах воспользовался решением, приведенным здесь:
<?php
function THEME_breadcrumb($variables) {
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
if ($node->type=='product') {
$current = taxonomy_term_load($node->field_ИМЯ_ПОЛЯ['ru'][0]['tid']);
$breadcrumb[] = l($current->name, 'taxonomy/term/' . $current->tid);
while ($parents = taxonomy_get_parents($current->tid)) {
$current = array_shift($parents);
$breadcrumb[] = l($current->name, 'taxonomy/term/' . $current->tid);
}
$breadcrumb[] = l(t('Home'), NULL);
$breadcrumb = array_reverse($breadcrumb);
}
}
else {
$breadcrumb = $variables['breadcrumb'];
}
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">'. implode(' » ', $breadcrumb) .'</div>';
}
}
?>
И вроде в нодах все хорошо работает. Но для отображения терминов таксономии я использую Views, а там это решение не работает. Крошки не отображаются. Что сделать для отображения breadcrumbs во views с иерархией терминов?
Комментарии
Не работает, т.к. arg(0) != 'node', но равен той первой части урала до "/", что ты прописал при при создании вьюхи
Ну, это как бы понятно. Здесь я и хочу узнать как лучше поступить: перепилиливать функцию для случаев arg(0) = term, arg(0) = ИМЯ_VIEWS или же можно как-то проще организовать. Я поначалу пытался использовать модуль Custom Breadcrumbs, но альфа-версия для drupal 7 не стала корректно работать на вьюсах. Да и просто интереснее было бы самому поковыряться в друпале ))
Я переписывал. Найдешь решенее эффективнее(я думаю таковое есть) - опиши его, пожалуйста.