Bir terimin belirli bir kelime dağarcığına ait olup olmadığını kontrol edeceğim.
Terim veya düğüme göre kelime bilgisi almak için hangi işlev kullanılır?
Bir terimin belirli bir kelime dağarcığına ait olup olmadığını kontrol edeceğim.
Terim veya düğüme göre kelime bilgisi almak için hangi işlev kullanılır?
Yanıtlar:
Drupal 6'da, sınıflandırma terimi kimliğini biliyorsanız, aşağıdaki kodu kullanarak kelime kimliğini alabilirsiniz:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
Bir düğüm kimliğiniz varsa, aşağıdaki kodu kullanarak düğümle ilişkili tüm sınıflandırma terimlerinin kelime kimliğini almak için aşağıdaki kodu kullanabilirsiniz:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
Drupal 7'de kod aşağıdaki gibi olacaktır:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
Drupal 7'de, düğüm özelliği $node->taxonomyartık mevcut değil. Bunun yerine, $node->field_<vocabulary_name>iki farklı yapıya sahip bir dizi var.
etiketler

diğer sınıflandırma terimleri

Field_get_items () kullanarak , sınıflandırma terimlerini görüntülenecekleri dilde veya kodu işleve bağımsız değişken olarak iletilen dilde alırsınız.
$items = field_get_items('node', $node, $field_name);
$nodedüğüm nesnesini ve $field_namesınıflandırma terimi alanının adını içerir.
$itemsiçindeki diziye kıyasla basitleştirilmiş bir dizi içeriyor $node->field_<vocabulary_name>.

Drupal 7 için yukarıdaki kod şöyle olmalıdır:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
Db_query () drupal 7 işlevinde daha fazla örneğe bakın .
Aşağıdaki kodla çözüldü:
$tid = 18;
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;