Dapatkan ID kosa kata berdasarkan istilah atau simpul


9

Saya akan memeriksa apakah suatu istilah milik kosa kata yang ditunjuk.

Fungsi mana yang digunakan untuk mendapatkan kosa kata berdasarkan istilah atau simpul?

Jawaban:


15

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->taxonomytidak ada lagi. Sebaliknya, ada $node->field_<vocabulary_name>, yang merupakan array dengan dua struktur berbeda.

  • tag

    tangkapan layar

  • istilah taksonomi lainnya

    tangkapan layar

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);

$nodeberisi objek simpul, dan $field_namenama bidang istilah taksonomi.

$itemsberisi array yang disederhanakan, dibandingkan dengan array yang terkandung dalam $node->field_<vocabulary_name>.

tangkapan layar


1

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.


0

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;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.