Облазил форум - решения так и не нашёл.
Везде описывается решение проблем с привязкой НОДЫ к "хлебным крошкам" (модули menu_breadcrumb, node_breadcrumb, custom_breadcrumb и т.д.)
но вьюс - это не нода.
подробнее:
есть такая структура:
пункт меню 1 (список)
подпункт 1.1 (список)
нода 1
нода 2
.....
подпункт 1.2 (список)
пункт меню 2 (список)
подпункт 2.1 (список)
подпункт 2.2 (список)
каждый подпункт - список материалов определённого типа. выводится вьюсом (по типу документа)
каждый основной пункт - список материалов определённого типа. выводится вьюсом (по типам документов обоих вложенных типов)
посредством node_breadcrumb добился того, что в ноде выводится её положение в структуре (например, "пункт меню 1 >> подпункт 1.1 >> нода 1" )
но на самих вьюсах (например, "пункт меню 1" или "подпункт 1.1") - пусто.
причём, отключть "скрывать крошки, если ссылка только на главную" - бесполезно.
мне-то надо, чтоб на "подпункт 1.1" в крошках выводилось "Главная >> пункт 1"
прошу о помощи
(прошу прощения за "многа букафф" - специально старался расписать ситуацию поподробнее)
Комментарии
Присоединяюсь... Со включенным видом taxonomy_term на страницах терминов в строке breadcrumbs отображается только "Главная", никакие модули не помогают. В пятом друпале эта проблема как-то решалась, в шестом видимо все сложнее из-за нового модуля Views.
Кстати, интересен комментарий разработчика по этому поводу:
(http://drupal.org/node/362366)Views не вмешивается в процесс создания крошек из меню, но и не дает вмешаться в процесс их создания сторонним модулям...
хотел уже попробовать переопределить "крошки" вручную (через template.php)...
грубо, но я уже и на такое согласен.
но....
не могу поймать в каком событии это можно сделать ((
попробовал прямо в breadcrumb(), но там почему-то переменная variables - пуста...
продолжаю копать...
можно попытаться в phptemplate_preprocess_page перехватить (только нужно море условий, т.к. через неё выводятся все страницы), но мне лень было и я использовал
в самом Views у страницы поле
«Заголовок: PHP code»
$breadcrumb = array();
$breadcrumb[] = l(t('Home'), "<front>");
$breadcrumb[] = l('Портфолио', 'portfolio');
if(arg(1) && $term1 = taxonomy_get_term(arg(1))){
$breadcrumb[] = l($term1->name, 'portfolio/'.$term1->tid);
if(arg(2) && $term2 = taxonomy_get_term(arg(2))){
$breadcrumb[] = l($term2->name, 'portfolio/'.$term1->tid.'/'.$term2->tid);
}
}
drupal_set_breadcrumb($breadcrumb);
?>
по аналогии можно и дерево терминов вытащить через taxonomy_get_tree... думаю общую идею передал - где можно переопределить крошки для views..
для крошек в ноде лучше всего нарисовать свой модуль, в котором через hook_nodeapi() при $node->type = 'тип ноды', $op = 'view', $a4 = true (страница) вставить свои крошки... но хочется вообще без модуля обойтись (как нибудь через template.php)..
кстати - почему dreadcrumb (- крошки Дреда получается можно тогда уж написать deadcrumb ) эту страницу невозможно будет найти через google, пока будет стоять такой заголовок.. Константин (LiC) или модеры - исправьте заголовок пожалста..
упс )
опечатка однако ...