Saya akan memeriksa apakah suatu istilah milik kosa kata yang ditunjuk.
Fungsi mana yang digunakan untuk mendapatkan kosa kata berdasarkan istilah atau simpul?
Saya akan memeriksa apakah suatu istilah milik kosa kata yang ditunjuk.
Fungsi mana yang digunakan untuk mendapatkan kosa kata berdasarkan istilah atau simpul?
Jawaban:
Di Drupal 6, jika Anda tahu ID istilah taksonomi, Anda bisa mendapatkan ID kosakata dengan menggunakan kode berikut:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
Jika Anda memiliki ID simpul, maka Anda dapat menggunakan kode berikut untuk mendapatkan ID kosakata dari semua istilah taksonomi yang terkait dengan node menggunakan kode berikut:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
Di Drupal 7, kodenya adalah sebagai berikut:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
Di Drupal 7, properti node $node->taxonomy
tidak ada lagi. Sebaliknya, ada $node->field_<vocabulary_name>
, yang merupakan array dengan dua struktur berbeda.
tag
istilah taksonomi lainnya
Menggunakan field_get_items () , Anda akan mendapatkan istilah taksonomi dalam bahasa yang akan ditampilkan, atau dalam bahasa yang kode-nya dilewatkan sebagai argumen ke fungsi.
$items = field_get_items('node', $node, $field_name);
$node
berisi objek simpul, dan $field_name
nama bidang istilah taksonomi.
$items
berisi array yang disederhanakan, dibandingkan dengan array yang terkandung dalam $node->field_<vocabulary_name>
.
Untuk Drupal 7 kode di atas harus seperti ini:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
Lihat lebih banyak contoh di db_query () fungsi drupal 7.
Dipecahkan oleh kode di bawah ini:
$tid = 18;
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;