2011-01-11 13 views
0

Ich versuche, PHP zu verwenden, um etwas zu drucken, wenn der Knoten zwei spezifische Begriffe hat.Drupal 6: PHP-Druck basiert auf zwei Taxonomie-Begriffen

Etwas wie:

<?php 
    $terms = taxonomy_node_get_terms($node, $key = 'tid'); 
    foreach ($terms as $term) { 
     if ($term->tid == 19) { 
      print '19'; 
     } 
     if ($term->tid == 21) { 
      print '21'; 
     } 
    } 
?> 
+0

Nicht sicher, ob der Drupal-Code korrekt ist, aber deine PHP-Syntax nicht. Die 'if' Argumente sollten in parens sein und Sie sollten eine Vergleichsprüfung statt einer Zuweisung durchführen, also sollten beide' if' Anweisungen wie folgt aussehen: if ($ tid == 19) ' –

+0

Ich habe es herausgefunden und den Code geändert entsprechend. Es wurde herausgefunden, dass ich einen foreach() Befehl hinzufügen musste. – canintex

Antwort

0

taxonomy_node_get_terms() gibt einen Array mit dem Begriff IDs als Arrayschlüssel. Um also etwas wie die Logik zu machen, die du willst, brauchst du etwas wie das Folgende:

$tids = taxonomy_node_get_terms($node); 
// a $node object is passed as the only parameter in this case, so you would need to use node_load to get that 
// the function has an optional second parameter, and 'tid' is the default, so it's not needed 
$tids = array_keys($tids); 
if (in_array(19, $tids)) { 
    print '19'; 
} 
if (in_array(21, $tids)) { 
    print '21'; 
} 
Verwandte Themen