[RISOLTO] Mostrare i termini di un unico vocabolario (in un nodo)

8 contenuti / 0 new
Ultimo contenuto
[RISOLTO] Mostrare i termini di un unico vocabolario (in un nodo)

Buongiorno ho dovuto creare un tipo di nodo particolare ed a questo ho associato 3 diversi vocabolari(annualita', autori, chiavi)
Ora di default il node.tp.php me li scrive tutti di seguito sulla stessa riga, mentre io vorrei separarli.

<?php if (count($taxonomy)): ?>
    <div class="taxonomy"><?php print t(' Anno ') . $terms  ?></div>
    <div class="taxonomy"><?php print t(' Autori ') . $terms  ?></div>
    <div class="taxonomy"><?php print t(' Chiavi ') . $terms  ?></div>
  <?php endif; ?>

Il risultato di questo e' ovviamente che i termini sono sempre gli stessi per tutte le righe in quanto in $terms ci sono tutti i termini, mentre vorrei che su ogni riga ci fossero solo quelli a cui si riferisce il vocabolario.

Chi mi da sta dritta?

Grazie

dai un occhio all'API taxonomy_node_get_terms_by_vocabulary, dovrebbe fare al caso tuo.

Ciao
Marco
--
My blog
Working at @agavee

mavimo wrote:
dai un occhio all'API taxonomy_node_get_terms_by_vocabulary, dovrebbe fare al caso tuo.

Grazie Mavimo....dovrebbe essere proprio quel tipo di funzione che mi serve, ma da ignorante quale sono ...non so dove poterlo andare ad implementare.

una dritta per passare il week end a smanettare? ;)

Codice non testato e scritto di getto quindi:

  1. Magari non funziona
  2. Sicuramente si può miglioare

in ogni caso prova:

<?php
print t(' Anno ');
$termini = taxonomy_node_get_terms_by_vocabulary($node, 5);
foreach (
$termini as $term) {
  if (
is_object($term)) {
   
$links['taxonomy_term_'. $term->tid] = array(
           
'title' => $term->name,
           
'href' => taxonomy_term_path($term),
           
'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
    );
  }
}
print
theme('links0', $links);
?>

Ciao
Marco
--
My blog
Working at @agavee

Ho provato, anche modificando la chiamata alla routine :
$termini = taxonomy_node_get_terms_by_vocabulary($nid, 2, $key = 'tid');
aggiungendo in coda il $key = 'tid' e il $nid al posto di $node..ma non mi stampa nulla se non la scritta Anno.
Cmq sono andato ad inserire queste righe nel node-tipopagina.tpl.php che mi serviva.

Lascia $node e assicurati di aver messo il VID corretto per il tuo vocabolario, prova a vedere se usando:

<?php
print t(' Anno ');
$termini = taxonomy_node_get_terms_by_vocabulary($node, 5);
print
'<pre>';
print_r($termini, true);
print
'</pre>';
?>

vedi qualche cosa.

Ciao
Marco
--
My blog
Working at @agavee

Purtroppo nulla...ho provato ad inserirlo nel tpl.php e nulla....poi una prova anche nel testo del nodo stesso...ma stesso risultato..scrive solo ANNO...e basta.
Il vid e' la chiave del vocabolario giusto?...