टर्म या नोड द्वारा शब्दावली आईडी प्राप्त करें


9

मैं यह जाँचने जा रहा हूँ कि क्या कोई पद एक निर्दिष्ट शब्दावली का है।

टर्म या नोड द्वारा शब्दावली प्राप्त करने के लिए किस फ़ंक्शन का उपयोग किया जाता है?

जवाबों:


15

Drupal 6 में, यदि आप वर्गीकरण शब्द आईडी जानते हैं, तो आप निम्नलिखित कोड का उपयोग करके शब्दावली आईडी प्राप्त कर सकते हैं:

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

यदि आपके पास एक नोड आईडी है, तो आप निम्न कोड का उपयोग कर नोड से जुड़े सभी करोनॉमी शब्दों की शब्दावली आईडी प्राप्त कर सकते हैं:

$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 () का उपयोग करते हुए , आपको उस भाषा में टैक्सोनॉमी शर्तें मिलेंगी जो वे प्रदर्शित की जाएंगी, या उस भाषा में जिसका कोड फ़ंक्शन के तर्क के रूप में पास किया गया है।

$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 () ड्रुपल 7 फ़ंक्शन पर अधिक उदाहरण देखें ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.