รับ ID คำศัพท์ตามคำหรือโหนด


9

ฉันจะตรวจสอบว่าคำศัพท์เป็นคำศัพท์ที่กำหนดหรือไม่

ฟังก์ชันใดที่ใช้เพื่อรับคำศัพท์ตามคำหรือโหนด

คำตอบ:


15

ใน Drupal 6 ถ้าคุณรู้รหัสประจำตัวของอนุกรมวิธานคุณสามารถรับ ID คำศัพท์ได้โดยใช้รหัสต่อไปนี้:

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

หากคุณมี ID โหนดคุณสามารถใช้รหัสต่อไปนี้เพื่อรับ ID คำศัพท์ของคำศัพท์อนุกรมวิธานทั้งหมดที่เกี่ยวข้องกับโหนดโดยใช้รหัสต่อไปนี้:

$node = node_load($nid);
$vids = array();

if (!empty($node->taxonomy)) {
  foreach ($node->taxonomy as $tid => $term) {
    $vids[] = $term->vid;
  }
}

ใน Drupal 7 รหัสจะเป็นดังนี้:

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

ใน Drupal 7 คุณสมบัติโหนด$node->taxonomyไม่มีอยู่อีกต่อไป แต่มี$node->field_<vocabulary_name>ซึ่งเป็นอาร์เรย์ที่มีโครงสร้างที่แตกต่างกันสองแบบ

  • แท็ก

    ภาพหน้าจอ

  • ข้อกำหนดด้านอนุกรมวิธานอื่น ๆ

    ภาพหน้าจอ

ใช้field_get_items ()คุณจะได้รับเงื่อนไข taxonomy ในภาษาที่จะแสดงหรือในภาษาที่มีรหัสถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน

$items = field_get_items('node', $node, $field_name);

$nodeมีวัตถุโหนดและ$field_nameชื่อของฟิลด์คำศัพท์อนุกรมวิธาน

$items$node->field_<vocabulary_name>มีอาร์เรย์ง่ายเมื่อเทียบกับอาร์เรย์ที่มีอยู่ใน

ภาพหน้าจอ


1

สำหรับ Drupal 7 โค้ดด้านบนควรเป็นดังนี้:

 $tid = 18;
 $vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid', 
                  array(':tid' => $tid)
                )->fetchField();
 echo $vid;

ดูตัวอย่างเพิ่มเติมได้ที่db_query ()ฟังก์ชัน drupal 7


0

แก้ไขโดยรหัสด้านล่าง:

$tid = 18;    
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.