Термины по словарю в node.tpl - PullRequest
       23

Термины по словарю в node.tpl

0 голосов
/ 10 августа 2010

Я создал переменную в template.php, которая позволяет мне печатать термины по словарю.Проблема в том, что я хочу иметь возможность передать идентификатор словаря, чтобы выбрать конкретный словарь.Мой код выглядит следующим образом:

function xnalaraart_classic_print_terms($node, $vocabularies){
    foreach($vocabularies as $vocabulary){
        if($terms = taxonomy_node_get_terms_by_vocabulary($node, $vocabulary->vid)){
            $output .= '<div>';
            $output .= '<ul class="links inline">';
            foreach ($terms as $term){
                $output .= '<li class="taxonomy_term_' . $term->tid . '">';
                $output .= l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => strip_tags($term->description)));
                $output .= '</li>';
            }
            $output .= '</ul>';
            $output .= '</div>';
        }
    }
    return $output;
}

и в функции preprocess_node:

$vars['terms_split'] = xnalaraart_classic_print_terms($vars['node']);

Как мне написать его, чтобы я мог передать идентификатор в $ vocabularies?

1 Ответ

1 голос
/ 10 августа 2010

Я думаю, что вы сделали это сложнее для себя, чем на самом деле Ниже приведена окончательная функция.

function xnalaraart_classic_print_vocab_terms($node, $vid){
        if($terms = taxonomy_node_get_terms_by_vocabulary($node, $vid)){
            $output .= '<div>';
            $output .= '<ul class="links inline">';
            foreach ($terms as $term){
                $output .= '<li class="taxonomy_term_' . $term->tid . '">';
                $output .= l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => strip_tags($term->description)));
                $output .= '</li>';
            }
            $output .= '</ul>';
            $output .= '</div>';
        }
    return $output;
}

А затем позвоните

$vars['terms_split'] = xnalaraart_classic_print_terms($vars['node'], 10);  //Where 10 is the vocab ID
...