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->taxonomy
artı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);
$node
düğüm nesnesini ve $field_name
sınıflandırma terimi alanının adını içerir.
$items
iç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;