print $terms solo di un vocabolario specifico in node.tpl [RISOLTO]

4 contenuti / 0 new
Ultimo contenuto
print $terms solo di un vocabolario specifico in node.tpl [RISOLTO]

Ragazzi ho due vocabolari,uno chiamato category che mi serve per dividere i contenuti in base a categorie ben precise,e un'altro chiamato Tag,che mi consente di "taggare" in modo piu preciso il nodo..

Ora sto temizzando il node.tpl e devo stampare in 2 posizioni diverse i termini legati al nodo..

ovviamente se io uso <?php print $terms ?> drupal mi restituisce i termini di entrambi i vocabolari,io dovrei riuscire a stampare solo i termini contenuti nel vocabolario vid 1 (category)... come posso modificare la query ?..

Grandeee.. la soluzione è la seguente...

<?php if ($terms):
$terms = taxonomy_node_get_terms_by_vocabulary($node, 1);
if (
$terms) {
     foreach (
$terms as $key => $term) {
    
$items[] = l($term->name, taxonomy_term_path($term), array('attributes' => array('rel' => 'tag', 'title' => $term->description)));
     }
     print
'' . t(" in: ") . implode(' ',$items).'';
    
// alternativle comment out the above and uncomment the following to theme as an item list.
     //print theme('item_list', $items);
}
endif;
?>

mr-drupal wrote:
a me servirebbe visualizzare 2 vocabolari invece che uno (...)

io vedo 3 opzioni, tutte già presenti nei link e negli snippet citati:
1)duplichi lo snippet di morxe avendo cura di diversificare le variabili.
ad es:
$terms1 = taxonomy_node_get_terms_by_vocabulary($node, 1); e $terms2 = taxonomy_node_get_terms_by_vocabulary($node, 2);

2)segui l'approccio di 11 heavens applicando la modifica di questo commento. In questo caso avrai una variabile per vocabolario da inserire a piacere in node.tpl.php.

3)segui questo micro-howto ed ottieni delle variabili analoghe anche per le etichette.