Ich werde prüfen, ob ein Begriff zu einem bestimmten Wortschatz gehört.
Mit welcher Funktion wird der Wortschatz nach Begriff oder Knoten abgerufen?
quelle
Ich werde prüfen, ob ein Begriff zu einem bestimmten Wortschatz gehört.
Mit welcher Funktion wird der Wortschatz nach Begriff oder Knoten abgerufen?
Wenn Sie in Drupal 6 die Taxonomie-Term-ID kennen, können Sie die Vokabular-ID mithilfe des folgenden Codes abrufen:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
Wenn Sie eine Knoten-ID haben, können Sie den folgenden Code verwenden, um die Vokabular-ID aller mit dem Knoten verknüpften Taxonomiebegriffe mithilfe des folgenden Codes abzurufen:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
In Drupal 7 lautet der Code wie folgt:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
In Drupal 7 ist die Knoteneigenschaft $node->taxonomy
nicht mehr vorhanden. Stattdessen gibt es $node->field_<vocabulary_name>
ein Array mit zwei verschiedenen Strukturen.
Stichworte
andere taxonomische Begriffe
Mit field_get_items () erhalten Sie die Taxonomiebegriffe in der Sprache, in der sie angezeigt werden, oder in der Sprache, deren Code als Argument an die Funktion übergeben wird.
$items = field_get_items('node', $node, $field_name);
$node
enthält das Knotenobjekt und $field_name
den Namen des Taxonomiebegriffsfelds.
$items
enthält ein vereinfachtes Array im Vergleich zu dem in enthaltenen Array $node->field_<vocabulary_name>
.
Für Drupal 7 sollte der obige Code folgendermaßen aussehen:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
Weitere Beispiele finden Sie unter db_query () drupal 7 function.
Gelöst durch den folgenden Code:
$tid = 18;
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;