Модуль Taxonomy_Breadcrumbs у меня так и не заработал, поэтому по-тупому намалевал себе модуль для генерации хлебных крошек на основе таксономии. Он
а) выбирает из числа словарей, сопоставленных типу ноды, один с наибольшим "весом",
б) выбирает из числа терминов этого словаря 1,
в) включает ссылку на этот термин в хлебные крошки,
г) добавляет к хлебным крошкам название материала (на любителя).
Получается что-то вроде: Главная › Audi › Audi A8 L будут собирать в Венесуэле.
Если структура словаря древовидная, в цепочку будут добавлены все термины дерева в порядке вложенности.
Состоит из одной функции (основа выдрана из другого модуля :). Можно не мучаться и изменить функцию так, чтобы цепочка строилась исключительно из данных о терминах, заключенных в объекте $node.
Внимание, говнокод! Использовать на свой страх и риск.
Вложение | Размер |
---|---|
simple_crumbs-6.x-1.x-demo.zip | 982 байта |
Комментарии
Отличный модуль по функционалу. Что Вы думаете на счёт того чтоб сделать нормальную версию? Могу помочь.
Зачем же на самоделки распыляться. Лучше помогите автору taxonomy_breadcrumbs
СПАСИБО ТЕБЕ, ДОБРЫЙ ЧЕЛОВЕК!
Вдруг кому и для 7-ки сгодится заготовка (только пути свои поправьте):
<?php
/**
* Implementation of hook_node_view().
*/
function simple_crumbs_node_view($node, $view_mode) {
$s_node_type = 'catalog'; // the type work node
// field_catalog - the name of field
if ($node->field_catalog) {
$parents = array_reverse(taxonomy_get_parents_all($node->field_catalog['und'][0]['taxonomy_term']->tid));
$breadcrumb[] = l(t('Home'), NULL);
$breadcrumb[] = l(t('directory'), "directory");
foreach (
$parents as $parent) {$breadcrumb[] = l($parent->name, "directory/$parent->tid");
}
drupal_set_breadcrumb($breadcrumb);
}
}
}
?>