Делаю новый шаблон. В page.tpl вывел переменную $breadcrumb. В итоге на нодах в хлебных крошках есть только главная. Должно быть как минимум главная и текущая страница. Из коробки хлебные крошки не работают? Надо обязательно в теме использовать hook_breadcrumb?
Если кому то надо сделать поле под хлебные крошки, т.е в каждой ноде текущий label будет браться не из названия, а из доп. поле, то как бы вы решали эту задачу?
Модули не предлагать, хочу научиться решать вопрос либо стандартными средствами, либо через api.
Комментарии
В стандартной теме оформления работает все как надо?
а хук это api?
убедился на нескольких проектах, что проще в хуке собрать крошки какие нужно и все
используйте arg() фукнцию
<?php/* Put Breadcrumbs in a ul li structure */
function HOOK_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];
//add current page
$breadcrumb[] = '<li>'.t(drupal_get_title()).'</li>';
$output .= '<ol itemscope itemtype="http://schema.org/BreadcrumbList">
' . implode('', $breadcrumb) . '
</ol>';
return $output;
}?>
//add term path in breadcrumbs
$entity = filter_xss(arg(0));
if(!empty($entity) && $entity == 'node'){
$nid = filter_xss(arg(1));
if(!empty($nid) && is_numeric($nid)){
$node = node_load($nid);
if($node->type == 'news'){
if(isset($node->field_category['und'][0]['tid'])){
$tid = $node->field_category['und'][0]['tid'];
$term = taxonomy_term_load($tid);
$path_term = drupal_get_path_alias('taxonomy/term/'.$tid);
$breadcrumb[] = l(t('News'), 'news');
$breadcrumb[] = l(t($term->name), $path_term);
}
}
//dpm($node);
}
}elseif(!empty($entity) && $entity == 'taxonomy' && !in_array(l(t('News'), 'news'), $breadcrumb)){
$breadcrumb[] = l(t('Tags'), 'tags');
}
в общем крутить можно как угодно