[Решено] Views -> Вывести все родительские термины ?

Главные вкладки

Аватар пользователя Cozmi Cozmi 15 января 2011 в 15:57

В полях Views есть Term, которая выводит собственно тот термин, к которому относится нода. А как вывести ещё и термин-родитель для Term, и родитель родителя, и так до словаря (по аналогии с хлебными крошками) ?

Комментарии

Аватар пользователя Cozmi Cozmi 21 января 2011 в 11:43

пжлста:

<?php
function pvg($nd$s) {
global 
$items$items_id;

$s.= ($nd->name) ? l($nd->name'taxonomy/term/'$nd->tid).' > ':'';
     
     
$children taxonomy_get_children($nd->tid3'tid'); //$vid = 3; // Id словаря
     
foreach ($children as $child) {
          
pvg($child$s);
     }
 
$items[]=substr($s0strlen($s)-3); $s='';
 
$items_id[]=$nd->tid;
}

    
    

// выводим таксономию
$vid 3// Id словаря
$tree taxonomy_get_tree($vid0, -11);
global 
$items$items_id;
pvg($tree'');

//загружаем вид (стиль таблица)
$out=views_embed_view('ВАШ_ВИД','default');

foreach (

$items_id as $key=>$value) {
// у меня termId выводится во втором столбце, поэтому:
$items_id[$key]='~(<tr[^>]*>[^<]*<td[^>]*>[^<]*</td>[^<]*<td[^>]*>)[^<]*'.$value.'[^>]*</td>~sUi';
$items[$key]='$1'.$items[$key].'</td>';
}

//заменяем termID на таксономию
$out=preg_replace($items_id$items$out);

//выводим
print $out;

?>

из минусов такого решения -- невозможность подключения стандартной сортировки