it-swarm-id.com

Dapatkan ID 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?

9
Charles Yeung

Dalam 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;
  }
}

Dalam Drupal 7, kode akan menjadi sebagai berikut:

$term = taxonomy_term_load($tid);
$vid = $term->vid;

Dalam Drupal 7, properti simpul $node->taxonomy tidak ada lagi. Sebaliknya, ada $node->field_<vocabulary_name>, yang merupakan array dengan dua struktur berbeda.

  • tag

    screenshot

  • istilah taksonomi lainnya

    screenshot

Menggunakan field_get_items () , Anda akan mendapatkan istilah taksonomi dalam bahasa yang akan ditampilkan, atau dalam bahasa yang kodenya 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>.

screenshot

15
kiamlaluno

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 () drupal 7.

1
TheodorosPloumis

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;
0
Charles Yeung