Sprawdzę, czy termin należy do wyznaczonego słownictwa.
Jakiej funkcji używa się, aby uzyskać słownictwo według terminu lub węzła?
źródło
Sprawdzę, czy termin należy do wyznaczonego słownictwa.
Jakiej funkcji używa się, aby uzyskać słownictwo według terminu lub węzła?
W Drupal 6, jeśli znasz identyfikator terminologii, możesz uzyskać identyfikator słownictwa, używając następującego kodu:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
Jeśli masz identyfikator węzła, możesz użyć następującego kodu, aby uzyskać identyfikator słownictwa wszystkich terminów taksonomicznych powiązanych z węzłem za pomocą następującego kodu:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
W Drupal 7 kod byłby następujący:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
W Drupal 7 właściwość node $node->taxonomy
już nie istnieje. Zamiast tego istnieje $node->field_<vocabulary_name>
tablica o dwóch różnych strukturach.
tagi
inne warunki taksonomiczne
Używając field_get_items () , otrzymujesz warunki taksonomii w języku, w którym będą wyświetlane, lub w języku, którego kod jest przekazywany jako argument funkcji.
$items = field_get_items('node', $node, $field_name);
$node
zawiera obiekt węzła i $field_name
nazwę pola terminu systematyki.
$items
zawiera uproszczoną tablicę w porównaniu do tablicy zawartej w $node->field_<vocabulary_name>
.
Dla Drupala 7 powyższy kod powinien wyglądać tak:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
Zobacz więcej przykładów w funkcji drupal 7 db_query () .
Rozwiązany przez poniższy kod:
$tid = 18;
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;